Part Number Hot Search : 
BAS16HT TEW5564 H1310 GA3284 A8105 BD5232G 103K00 14000
Product Description
Full Text Search
 

To Download HB28K032RM3 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  preliminary: the specifications of this device are subject to change without notice. please contact your nearest renesas technology?s sales dept. regarding specifications. rev.0.02, sep.15.2004, page 1 of 89 hb28k032mm3/HB28K032RM3 hb28l064mm3/hb28l064rm3 hb28j128mm3/hb28j128rm3 hb28j256mm3/hb28j256rm3 hb28j512mm3 multimediacard ? 32 mbyte/64 mbyte/128 mbyte/256 mbyte/512 mbyte rej03c0178-0002 preliminary rev.0.02 sep.15.2004 description these renesas multimediacard ? s, hb28k032mm3, HB28K032RM3, hb28l064mm3, hb28l064rm3, hb28j128mm3, hb28j128rm3, hb28j256mm3, hb28j256rm3 and hb28j512mm3 are highly integrated flash memories with serial and random access capability. it is accessible via a dedicated serial interface optimized for fast and reliable data transmission. this interface allows several cards to be stacked by through connecting their peripheral contacts. these renesas multimediacards are fully compatible to a new consumer standard, called the multimediacard system standard defined in the multimediacard system specification [1]. the multimediacard system is a new mass-storage system based on innovations in semiconductor technology. it has been developed to provide an inexpensive, mechanically robust storage medium in card form for multimedia consumer applications. multimediacard allows the design of inexpensive players and drives without moving parts. a low power consumption and a wide supply voltage range favor mobile, battery-powered applications such as audio players, organizers, palmtops, electronic books, encyclopedia and dictionaries. using very effective data compression schemes such as mpeg, the multimediacard will deliver enough capacity for all kinds of multimedia data: software/programs, text, music, speech, images, video etc. notes: 1. multimediacard ? is a trademark of infineon technologies ag. 2. these products are designed and manufactured for retail sale only. therefore, please contact renesas technology's sales dept. before using these products in other circumstances. 3. in case that these products are proved to have any defects in manufacturing attributable to renesas technology corp., the defective products can be returned and exchanged for replacements, but renesas technology corp. assumes no responsibility other than exchange. please contact renesas technology's sales dept. for further details.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 2 of 89 features ? multimediacard ? line up: model memory capacity outline * 1 hb28k032mm3 32 mbyte full size HB28K032RM3 reduced size hb28l064mm3 64 mbyte full size hb28l064rm3 reduced size hb28j128mm3 128 mbyte full size hb28j128rm3 reduced size hb28j256mm3 256 mbyte full size hb28j256rm3 reduced size hb28j512mm3 512 mbyte full size note: 1. refer to chapter ?physical outline?. ? on card error correction ? multimediacard system standard compatibility ? system specification version 3.3 compliant ? spi mode supports the single and multiple block read and write operations. ? block and partial block read supported (command classes 2) ? stream read supported (command class 1) ? block write and erase supported (command classes 4 and 5) ? group write protection (command classes 6) ? stream write supported (command classes 3) ? password data access protection ? small erase block size of 8 kbytes ? read block size programmable between 1 and 2048 bytes ? v cc = 2.7 v to 3.6 v operation voltage range (v cc = 2.0 v to 3.6 v for the interface) ? no external programming voltage required ? damage free powered card insertion and removal (no operation) ? 4kv esd protection (contact pads) ? high speed serial interface with random access ? up to 10 stacked card (at 20 mhz, v cc = 2.7 to 3.6 v) ? access time: 300 s (typ) (at 20 mhz, v cc = 2.7 to 3.6 v) ? low power dissipation ? high speed: 288 mw (max) (at 20 mhz, v cc = 3.6 v) ? small size ? full size (24 32 1.4 mm 3 ): 32-512 mbyte ? reduced size (24 18 1.4 mm 3 ): 32-256 mbyte
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 3 of 89 block diagram 1234 v pp generator 567 internal clock interface cid[127:0] ocr[31:0] flash control core control csd[127:0] rca[15:0] cmd power on reset unit register set dat v cc cs cmd/di dat/do clk/sclk interface driver memory core all units in these renesas multimediacards are clocked by an internal clock generator. the interface driver unit synchronizes the dat and cmd signals from external clk to the internal used clock signal. the card is controlled by the three line multimediacard interface containing the signals: cmd, clk, dat (refer to chapter ?interfaces?). for the identification of the multimediacard in a stack of multimediacards, a card identification register (cid) and a relative card address register (rca) are foreseen. an additional register contains different types of operation parameters. this register is called card specific data register (csd). the communication using the multimediacard lines to access either the memory field or the registers is defined by the multimediacard standard (refer to chapter ?communication?). the card has its own power on detection unit. no additional master reset signal is required to setup the card after power on. it is protected against short circuit during insertion and removal while the multimediacard system is powered up (refer to chapter ?power supply?). no external programming voltage supply is required. the programming voltage is generated on card. these renesas multimediacards support a second interface operation mode the spi interface mode. the spi mode is activated if the cs signal is asserted (negative) during the reception of the reset command (cmd0) (refer to chapter ?spi communication?).
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 4 of 89 interface these renesas multimediacards' interface can operate in two different modes: ? multimediacard mode ? spi mode both modes are using the same pins. the default mode is the multimediacard mode. the spi mode is selected by activating (= 0) the cs signal (pin1) and sending the cmd0. multimediacard mode in the multimediacard mode, all data is transferred over a minimal number of lines: ? clk: with each cycle of this signal a one-bit transfer on the command and data lines is done. the frequency may vary between zero and the maximum clock frequency. the multimediacard bus master is free to generate these cycles without restrictions in the range of 0 to 20 mhz. ? cmd: is a bidirectional command channel used for card initialization and data transfer commands. the cmd signal has two operation modes: open drain for initialization mode and push pull for fast command transfer. commands are sent from the multimediacard bus master to the multimediacard and responses vice versa. ? dat: is a bidirectional data channel with a width of one line. the dat signal of the multimediacard operates in push pull mode. ? rsv: is pulled up with resistor (2 m ? typ) in the multimediacard. the external pull-up resistor should be recommended if the system requires. interface driver multimediacard host r od r dat r cmd 1 2 3 4 5 6 7 multimediacard cmd clk dat multimediacard mode interface all multimediacards are connected directly to the lines of the multimediacard bus. the following table defines the card contacts.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 5 of 89 multimediacard mode pad definition pin no. name type * 1 description 1 rsv nc no connection 2 cmd i/o/pp/od command/response 3 v ss1 s ground 4 v cc s power supply 5 clk i clock 6 v ss2 s ground 7 dat i/o/pp data note: 1. s: power supply; i: input; o: output; pp: push-pull; od: open-drain; nc: no connection or v ih multimediacard interface controller 1 2 3 4 5 6 7 memory core interface od/pp enable enable interface driver dat cmd v ss1 v cc clk v ss2 rsv multimediacard mode i/o-drivers
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 6 of 89 spi mode the serial peripheral interface (spi) is a general-purpose synchronous serial interface originally found on certain motorola microcontrollers. the multimediacard spi interface is compatible with spi hosts available on the market. as any other spi device the multimediacard spi interface consists of the following four signals: cs : host to card chip select signal. clk : host to card clock signal. data in : host to card data signal. data out : card to host data signal. the multimediacard card identification and addressing methods are replaced by a hardware chip select (cs) signal. there are no broadcast commands. for every command, a card (slave) is selected by asserting (active low) the cs signal (refer to figure ?spi bus system?). the cs signal must be continuously active for the duration of the spi transaction (command, response and data). the only exception occurs during card programming, when the host can de-assert the cs signal without affecting the programming process. the bidirectional cmd and dat lines are replaced by unidirectional data in and data out signals. this eliminates the ability of executing commands while data is being read or written and, therefore, makes the sequential and multi block read/write operations obsolete. the single and multiple block read/write commands are supported by the spi channel. the spi interface uses the same seven signals of the standard multimediacard bus (refer to table ?spi interface pin configuration?). power supply spi bus (clk, datain, dataout) spi bus master spi card spi card cs cs spi bus system
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 7 of 89 spi interface pin configuration multimediacard spi pin no. name type * 1 description name type description 1 rsv nc reserved for future use cs i chip select (neg true) 2 cmd i/o/pp/od command/response di i data in 3 v ss1 s ground v ss s ground 4 v cc s power supply v cc s power supply 5 clk i clock sclk i clock 6 v ss2 s ground v ss2 s ground 7 dat i/o/pp data do o/pp data out note: 1. s: power supply; i: input; o: output; pp: push-pull; od: open-drain; nc: no connection or v ih
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 8 of 89 registers these renesas multimediacards contain the following information registers: name width type description ocr 32 programmed by the manufacturer. read only for user. supported voltage range, card power up status bit. cid 128 programmed by the manufacturer. read only for user. card identification number, card individual number for identification. rca 16 programmed during initialization, not readable. relative card address, local system address of a card, dynamically assigned by the host during initialization. csd 128 programmed by the manufacturer. partially programmable by the user. card specific data, information about the card operation conditions. the cid and rca are used for identifying and addressing the multimediacard. the csd contains the card specific data record. this record is a set of information fields to define the operation conditions of the multimediacard. for the user, the cid is read only register. the csd contains read only area and some of one time or multiple programmable area by the customer or provider. they are read out by special commands (refer to chapter ?commands?). the rca registers are write only registers. unlike cid and csd, rca looses its contents after powering down the card. its value is reassigned in each initialization cycle. the multimediacard registers usage in spi mode is summarized in table ?multimediacard registers in spi mode?: multimediacard registers in spi mode name available in spi mode width (bytes) description ocr yes 4 operation condition register. cid yes 16 card identification data (serial number, manufacturer id etc.) rca no csd yes 16 card specific data, information about the card operation conditions.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 9 of 89 operation condition register (ocr) this register indicates supported voltage range of these renesas multimediacards. it is a 32 bit wide register and for read only. ocr fields ocr slice field value note d31 card power up status bit (busy). 0 or 1 busy: 0 d[30-24] reserved 0 d23 3.5 v v cc 3.6 v 1 d22 3.4 v v cc < 3.5 v 1 d21 3.3 v v cc < 3.4 v 1 d20 3.2 v v cc < 3.3 v 1 d19 3.1 v v cc < 3.2 v 1 d18 3.0 v v cc < 3.1 v 1 d17 2.9 v v cc < 3.0 v 1 d16 2.8 v v cc < 2.9 v 1 d15 2.7 v v cc < 2.8 v 1 d14 2.6 v v cc < 2.7 v 0 d13 2.5 v v cc < 2.6 v 0 d12 2.4 v v cc < 2.5 v 0 d11 2.3 v v cc < 2.4 v 0 d10 2.2 v v cc < 2.3 v 0 d9 2.1 v v cc < 2.2 v 0 d8 2.0 v v cc < 2.1 v 0 d7 1.65 v v cc 1.95 v 0 d6 reserved 0 d5 reserved 0 d4 reserved 0 d3 reserved 0 d2 reserved 0 d1 reserved 0 d0 reserved 0
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 10 of 89 card identification (cid) this register contains the card identification information used during the card identification procedure. it is a 128 bit wide register, one-time programmable by the provider. it was programmed at the manufacturer. the cid is divided into eight slices: cid fields name field width cid-slice note manufacturer id mid 8 [127:120] 1 oem/application id oid 16 [119:104] product name pnm 48 [103:56] product revision prv 8 [55:48] product serial number psn 32 [47:16] manufacturing date mdt 8 [15:8] 7-bit crc checksum crc7 7 [7:1] not used, always 1 ? 1 [0:0] note: 1. the value of mid is 0x06. the cid has to be error free. to ensure the correctness of the cid, a 7-bit crc checksum is added to the end of the cid. the crc7 is computed according to chapter ?cyclic redundancy check (crc)?. relative card address (rca) the 16-bit relative card address register carries the card address assigned by the host during the card identification. this address is used for the addressed host to card communication after the card identification procedure. the default value of the rca register is 0x0001. the value 0x0000 is reserved to set all cards in standby state with the command select_deselect_card (cmd7). the rca is programmed with the command set_relative_address (cmd3) during the initialization procedure. the content of this register is lost after power down. the default value is assigned when an internal reset is applied by the power up detection unit of these renesas multimediacards, or when the command go_idle_state (cmd0) is detected by these renesas multimediacards.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 11 of 89 card specific data (csd) the card specific data register describes how to access the card content. the csd defines card operating parameters like maximum data access time, data transfer speed. the csd fields name field width csd-slice value type csd structure csd_structure 2 [127:126] ? 10 ? read only spec version spec_vers 4 [125:122] ? 0011 ? read only reserved ? 2 [121:120] 0 read only data read access-time-1 taac 8 [119:112] 0x0e (1 ms) read only data read access-time-2 in clk cycles (nsac * 100) nsac 8 [111:104] 0x01 (100 cycles) read only max. data transfer rate tran_speed 8 [103:96] 0x2a (20 mbit/s) read only card command classes ccc 12 [95:84] 0x0ff (class 0, 1, 2, 3, 4, 5, 6, 7) read only max. read data block length read_blk_len 4 [83:80] 0x9 (512 bytes) read only partial blocks for read allowed read_blk_partial 1 [79:79] ? 1 ? (enabled) read only write block misalignment write_blk_misalig n 1 [78:78] ? 0 ? (disabled) read only read block misalignment read_blk_misalign 1 [77:77] ? 0 ? (disabled) read only dsr implemented dsr_imp 1 [76:76] ? 0 ? (disabled) read only reserved ? 2 [75:74] 0 read only device size c_size 12 [73:62] * 1 read only max. read current at v dd min vdd_r_curr_min 3 [61:59] * 2 read only max. read current at v dd max vdd_r_curr_max 3 [58:56] * 2 read only max. write current at v dd min vdd_w_curr_min 3 [55:53] * 2 read only max. write current at v dd max vdd_w_curr_max 3 [52:50] * 2 read only device size multiplier c_size_mult 3 [49:47] * 3 read only erase group size erase_grp_size 5 [46:42] 0 read only erase group size multiplier erase_grp_mult 5 [41:37] 0x0f read only
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 12 of 89 name field width csd-slice value type write protect group size wp_grp_size 5 [36:32] 0x01 (16 kbyte) read only write protect group enable wp_grp_enable 1 [31:31] ? 1 ? read only manufacturer default ecc default_ecc 2 [30:29] 0 read only write speed factor r2w_factor 3 [28:26] 4 (16) read only max. write data block length write_blk_len 4 [25:22] 9 (512 bytes) read only partial blocks for write allowed write_blk_partial 1 [21:21] ? 0 ? read only reserved ? 4 [20:17] 0 read only content protection application content_prot_ap p 1 [16:16] 0 read only file format group file_format_grp 1 [15:15] * 4 read/write copy flag (otp) copy 1 [14:14] read/write permanent write protection perm_write_prote ct 1 [13:13] read/write temporary write protection tmp_write_protec t 1 [12:12] read/write/ erase file format file_format 2 [11:10] read/write ecc code ecc 2 [9:8] read/write/ erase 7-bit crc crc7 7 [7:1] read/write/ erase not used, always 1 ? 1 [0:0] 1 read only notes: 1. this field is depended on the model. refer to also c_size. 2. this field is depended on the model. 3. this field is depended on the model. refer to also c_size_mult. 4. means user programmable. some of the csd fields are one-time or multiple programmable by the customer or provider. all other field values are fixed. the following section describes the csd fields and their values for these renesas multimediacards: ? csd_structure csd register structure csd_structure csd register structure ? 10 ? csd version no. 1.2 the csd version of these renesas multimediacards is related to the ?multimediacard system specification, version 3.3?. the parameter csd_structure has permanently the value ?10?.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 13 of 89 ? spec_vers defines the spec version supported by the card. it includes the commands set definition and the definition of the card responses. the card identification procedure is compatible for all spec versions! spec version spec_vers system specification version number ? 0011 ? system specification version 3.3 the spec version of these renesas multimediacards is related to the ?multimediacard system specification, version 3.3?. the parameter spec_vers has permanently the value ?0011?. ? taac defines the asynchronous data access time: taac access time definition taac bit description values 2:0 time exponent 0 = 1 ns, 1 = 10 ns, 2 = 100 ns, 3 = 1 s, 4 = 10 s, 5 = 100 s, 6 = 1 ms, 7 = 10 ms 6:3 time mantissa 0 = reserved, 1 = 1.0, 2 = 1.2, 3 = 1.3, 4 = 1.5, 5 = 2.0, 6 = 2.5, 7 = 3.0, 8 = 3.5, 9 = 4.0, a = 4.5, b = 5.0, c = 5.5, d = 6.0, e = 7.0, f = 8.0 7 reserved always ? 0 ? the value for the asynchronous delay for these renesas multimediacards is 1 ms. the coded taac value is 0x0e (= 1 ms). for more details refer to chapter ?operating characteristics?. ? nsac defines the worst case for the synchronous data access time. the unit for nsac is 100-clock cycles. therefore, maximum value for the data access time is 25.6k clock cycles. the total access time n ac as expressed in the table ?timing values? is the sum of both taac and nsac. it has to be computed by the host for the actual clock rate. the read access time should be interpreted as a typical delay for the first data bit of a data block or stream. the value of nsac for these renesas multimediacards is 0x01 (100- clock cycles). for more details refer to chapter ?operating characteristics?.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 14 of 89 ? tran_speed the following table defines the maximum data transfer rate tran_speed: maximum data transfer rate definition tran_speed bit description values 2:0 transfer rate exponent 0 = 100 kbit/s, 1 = 1 mbit/s, 2 = 10 mbit/s, 3 = 100 mbit/s, 4...7 = reserved 6:3 time mantissa 0x0 = reserved, 0x1 = 1.0, 0x2 = 1.2, 0x3 = 1.3, 0x4 = 1.5, 0x5 = 2.0, 0x6 = 2.5, 0x7 = 3.0, 0x8 = 3.5, 0x9 = 4.0, 0xa = 4.5, 0xb = 5.0, 0xc = 5.5, 0xd = 6.0, 0xe = 7.0, 0xf = 8.0 7 reserved always ? 0 ? these renesas multimediacards support a transfer rate between 0 and 20 mbit/s. the parameter tran_speed is 0x2a. ? ccc the multimediacard command set is divided into subsets (command classes). the card command class register ccc defines which command classes are supported by this card. a set ccc bit means that the corresponding command class is supported. for command class definition refer to table ?command classes?. supported card command classes ccc bit supported card command classes 0 class0 1 class1 ...... ...... 11 class11 these renesas multimediacards support the command classes 0, 1, 2, 3, 4, 5, 6 and 7. the parameter ccc is permanently assigned to the value 0x0ff.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 15 of 89 ? read_blk_len the data block length is computed as 2 read_blk_len . data block length read_blk_len block length remark 0 2 0 = 1 byte 1 2 1 = 2 bytes ...... ...... 11 2 11 = 2048 bytes 12 ? 15 reserved the block length might therefore be in the range 1, 2, 4...2048 bytes. this parameter defines the block length if read_blk_partial is not set. if read_blk_partial is set this parameter contains the maximum allowed value of the block length in bytes. all block lengths between one and this value are permitted. the actual block size is programmed by the command set_blocklen (cmd16). these renesas multimediacards support block lengths from 1 byte up to 2048 bytes. the default value of the parameter read_blk_len is 0x9 (512 bytes). ? read_blk_partial read_blk_partial defines whether partial block sizes can be used in block read command. read_blk_partial = 0 means that only the block size defined by read_blk_len can be used for block-oriented data transfers. read_blk_partial = 1 means that smaller blocks can be used as well. the minimum block size will be equal to minimum addressable unit (one byte). these renesas multimediacards support partial block read. the parameter read_blk_partial is permanently assigned to the value ?1?. ? write_blk_misalign defines if the data block to be written by one command can be spread over more than one physical blocks of the memory device. the size of the memory block is defined in write_blk_len. write_blk_misalign is permanently assigned to the value ?0?, signaling that crossing physical block boundaries is not allowed. ? read_blk_misalign defines if the data block to be read by one command can be spread over more than one physical block of the memory device. the size of the data block is defined in read_blk_len. read_blk_misalign = 0 signals that crossing physical block boundaries is not allowed. read_blk_misalign = 1 signals that crossing physical block boundaries is allowed. these renesas multimediacards do not support read block operations with boundary crossing. the parameter read_blk_misalign is permanently assigned to the value ?0?.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 16 of 89 ? dsr_imp defines if the configurable driver stage option is integrated on the card or not. if implemented a driver stage register (dsr) must be implemented also. dsr implementation dsr_imp dsr type 0 no dsr implemented 1 dsr implemented these renesas multimediacards' output drivers are not configurable. the parameter dsr_imp is permanently assigned to the value ?0?. ? c_size this parameter is used to compute the card capacity. the card capacity is computed from the entries c_size, c_size_mult and read_blk_len as follows: memory capacity = blocknr * block_len where blocknr = (c_size+1) * mult mult = 2 c_size_mult+2 (c_size_mult < 8) block_len = 2 read_blk_len (read_blk_len < 12) therefore, the maximal capacity which can be coded is 4096 * 512 * 2048 = 4 gbytes. the following table shows the parameters for each card capacity. card capacity c_size c_size_mult read_blk_len 32 mbyte 0x7a7 3 9 64 mbyte 0x7a7 4 9 128 mbyte 0x7a7 5 9 256 mbyte 0x7a7 6 9 512 mbyte 0x7a7 7 9
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 17 of 89 ? vdd_r_curr_min, vdd_w_curr_min the maximum supply current at the minimum supply voltage v cc (2.7 v) is coded as follows: maximum supply current consumption at v cc = 2.7 v vdd_r_curr_min vdd_w_curr_min code for current consumption at 2.7 v 2:0 0 = 0.5 ma; 1 = 1 ma; 2 = 5 ma; 3 = 10 ma; 4 = 25 ma; 5 = 35 ma; 6 = 60 ma; 7 = 100 ma the parameter vdd_r_curr_min and vdd_w_curr_min are permanently assigned. the value of vdd_r_curr_min and vdd_w_curr_min for each model is following: card capacity value 32 mbyte 6 (60 ma) 64 mbyte 6 (60 ma) 128 mbyte 6 (60 ma) 256 mbyte 6 (60 ma) 512 mbyte 6 (60 ma) ? vdd_r_curr_max, vdd_w_curr_max the maximum supply current at the maximum supply voltage v cc (3.6 v) is coded as follows: maximum supply current consumption at v cc = 3.6 v vdd_r_curr_max vdd_w_curr_max code for current consumption at 3.6 v 2:0 0 = 1 ma; 1 = 5 ma; 2 = 10 ma; 3 = 25 ma; 4 = 35 ma; 5 = 45 ma; 6 = 80 ma; 7 = 200 ma the parameter vdd_r_curr_max and vdd_w_curr_max are permanently assigned. the value of vdd_r_curr_max and vdd_w_curr_max for each model is following:
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 18 of 89 card capacity value 32 mbyte 6 (80 ma) 64 mbyte 6 (80 ma) 128 mbyte 6 (80 ma) 256 mbyte 6 (80 ma) 512 mbyte 6 (80 ma) for more details refer to chapter ?characteristics?. ? c_size_mult this parameter is used for coding a factor mult for computing the total device size (refer to ?c_size?). the factor mult is defined as 2 c_size_mult+2 . multiply factor for the device size c_size_mult mult remark 0 2 2 = 4 1 2 3 = 8 2 2 4 = 16 3 2 5 = 32 4 2 6 = 64 5 2 7 = 128 6 2 8 = 256 7 2 9 = 512 the card capacity is shown at ?c_size?. ? erase_grp_size the content of this register is a 5 bit binary coded value, used to calculate the size of the erasable unit of these renesas multimediacards. the size of the erase unit (also referred to as erase group in chapter ?memory array partitioning?) is determined by the erase_grp_size and the erase_grp_mult entries of the csd, using the following equation: size of erasable unit = (erase_grp_size + 1) * (erase_grp_mult + 1) the parameter erase_grp_size is permanently assigned to the value ?0?. the size of erasable unit for these renesas multimediacards is (0+1) * (15+1) = 16, which means that the 8 kbyte area can be erased in a single erase group command (cmd35, cmd36 and cmd38).
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 19 of 89 ? erase_grp_mult a 5 bit binary coded value is used for calculating the size of the erasable unit of these renesas multimediacards. the parameter erase_grp_mult is permanently assigned to the value 0x0f. see erase_grp_size section for detailed description. ? wp_grp_size the size of a write protection group. the content of this register is a binary coded value defining the number of erase group. this parameter's value is 1, which means that a write protect group size is 16 kbyte. ? wp_grp_enable the value is set to ?1?, meaning group write protection is enabled. ? default_ecc set by the card manufacturer and defines the ecc code which is recommended to use (e.g. the device is tested for). the value is set to ?0?, indicating that no designated ecc is recommended. ? r2w_factor defines the typical block program time as a multiple of the read access time. the following table defines the field format. r2w_factor r2w_factor multiples of read access time 0 1 1 2 (write half as fast as read) 2 4 3 8 4 16 5 32 6, 7 reserved this parameter value is 2 for these renesas multimediacards.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 20 of 89 ? write_blk_len the data block length is computed as 2 write_blk_len . data block length write_blk_len block length remark 0 2 0 = 1 byte 1 2 1 = 2 bytes ...... ...... 11 2 11 = 2048 bytes 12 ? 15 reserved the block length might therefore be in the range 1, 2, 4...2048 bytes. this parameter defines the block length if write_blk_partial is not set. if write_blk_partial is set this parameter contains the maximum allowed value of the block length in bytes. all block lengths between one and this value are permitted. the actual block size is programmed by the command set_blocklen (cmd16). these renesas multimediacards support blocks with the length 512 bytes. the parameter write_blk_len is permanently assigned to the value 0x9 (512 bytes). ? write_blk_partial write_blk_partial defines whether partial block sizes can be used in block read and block write commands. write_blk_partial = 0 means that only the block size defined by write_blk_len can be used for block-oriented data transfers. write_blk_partial = 1 means that smaller blocks can be used as well. the minimum block size will be equal to minimum addressable unit (one byte). these renesas multimediacards support no partial block write. the parameter write_blk_partial is permanently assigned to the value ?0?. ? content_prot_app indicates whether the card supports the content protection application, which is the function to protect the stored data from illegal copies or accesses. this card doesn't support the content protection application. the parameter content_prot_app is permanently assigned to the value ?0?. ? file_format_grp indicates the selected group of file formats. the default value is ?0?. this field is read-only for rom. the usage of this field is shown in table ?file_formats?.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 21 of 89 ? copy defines if the contents are an original (copy = ?0?) or a copy (= ?1?). the copy bit is a one time programmable bit, being set by the customer. the default value is ?0?. ? perm_write_protect permanently protects the whole card content against overwriting or erasing (all write and erase commands for this card is a permanently disabled). this parameter is one-time programmable by the customer. the default value is ?0? (not protected). ? tmp_write_protect temporarily protects the whole card content from being overwritten or erased (all write and erase commands for this card are temporarily disabled). this parameter is programmable by the customer. the default value is ?0? (not protected). ? file_format indicates the file format on the card. the default value is ?0?. this field is read-only for rom. the following formats are defined: file_formats file_format_grp file_format type 0 0 hard disk-like file system with partition table 0 1 dos fat (floppy-like) with boot sector only (no partition table) 0 2 universal file format 0 3 others/unknown 1 0, 1, 2, 3 reserved
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 22 of 89 ? ecc defines the ecc code that was used for storing data on the card. this field is used by the host (or application) to decode the user data. the following table defines the field format. ecc ecc ecc type maximum number of correctable bits 0 none (default) none 1 bch (542,512) 3 2 ? 3 reserved ? the content provider or customer defines which kind of error correction may be used to protect the contents of the multimediacard. this value is programmable. ? crc7 the crc7 contains the check sum for the csd content. the check sum is computed according to chapter ?cyclic redundancy check (crc)?. the user has to recalculate a new crc7 after defining a new csd.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 23 of 89 multimediacard communication all communication between host and cards is controlled by the host (master). the host sends commands and, depending on the command, receives a corresponding response from the selected card. in this chapter the commands to control these renesas multimediacards, the card responses and the contents of the status and error field included in the responses, are defined. memory array partitioning the basic unit of data transfer to/from the multimediacard is one byte. all data transfer operations which require a block size always define block lengths as integer multiples of bytes. some special functions need other partition granularity. for block-oriented commands, the following definition is used: ? block: is the unit which is related to the block-oriented read and write commands. its size is the number of bytes which will be transferred when one block command is sent by the host. the size of a block is either programmable or fixed. the information about allowed block sizes and the programmability is stored in the csd. for devices which have erasable memory cells, special erase commands are defined. the granularity of the erasable units is: ? sector: in these renesas multimediacards, this size is same as the write_blk_len in csd. ? erase group: is the smallest number of consecutive write blocks, which can be addressed for erased. the size of the erase group is card specific and stored in the csd. for devices which include a write protection: ? wp-group: is the minimal unit which may have individual write protection. its size is the number of erase groups which will be write protected by one bit. the size of a wp-group is fixed for each device. the information about the size is stored in the csd. each erasable unit (erase group) has a special ?tag? bit. this bit may be set or cleared by special commands to tag the unit. all tagged units will be erased in parallel by one erase command following a number of tag commands. all tag bits are cleared by each command except a tag command. therefore, immediately after a sequence of tag commands an erase command has to be sent by the host. commands others than tagging or erasing abort a tag-erase cycle irregularly.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 24 of 89 write block 0 write block 1 write block 2 write block 3 write block n erase group 0 erase group 1 erase group n group tagging multimediacard erase tagging hierarchy each wp-group may have an additional write protection bit. the write protection bits are programmable via special commands (refer to chapter ?commands?). the information about the availability is stored in the csd. wp-group 0 wp-group 1 wp-group n group write protection write protection
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 25 of 89 commands the command set of the multimediacard system is divided into classes corresponding to the type of card (see also [1]). these renesas multimediacards support the following command classes: command classes (class 0 to class 2) supported commands card command class (ccc) class description 0 1 2 3 4 7 9 10 11 12 13 15 16 17 18 class 0 basic + + + + + + + + + + + class 1 stream read + class 2 block read + + + command classes (class 2 to class 7) supported commands card command class (ccc) class description 20 23 24 25 26 27 28 29 30 32 33 34 35 36 37 38 42 class 2 block read + class 3 stream write + class 4 block write + + + + + class 5 erase + + + class 6 write protection + + + class 7 lock card + class 0 is mandatory and supported by all cards. it represents the card identification and initialization commands, which are intended to handle different cards and card types on the same bus lines. the card command class (ccc) is coded in the card specific data register of each card, so that the host knows how to access the card. there are four kinds of commands defined on the multimediacard bus: ? broadcast commands (bc) sent on cmd line, no response ? broadcast commands with response (bcr) sent on cmd line, response (all cards simultaneously) on cmd line ? addressed (point-to-point) commands (ac) sent on cmd line, response on cmd line ? addressed (point-to-point) data transfer commands (adtc) sent on cmd line, response on cmd line, data transfer on dat line
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 26 of 89 the command transmission always starts with the msb. each command starts with a start bit and ends with a 7-bit crc command protection field followed by an end bit. the length of each command frame is fixed to 48 bits (2.4 s at 20 mhz): 0 start bit 1 host 1 end bit bit5...bit0 command bit31...bit0 argument bit6...bit0 crc * 1 note: 1. (cyclic redundancy check) the start bit is always ? 0 ? in command frames (sent from host to multimediacard). the host bit is always ? 1 ? for commands. the command field contains the binary coded command number. the argument depends on the command (refer to table ? basic commands (class 0) and table ? block-oriented read commands (class 2) ? ). the crc field is defined in chapter ? cyclic redundancy check (crc) ? .
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 27 of 89 read, write and erase time-out conditions the times after which a time-out condition for read/write/erase operations occurs are (card independent) 10 times longer than the access/program times for these operations given below. a card shall complete the command within this time period, or give up and return an error message. if the host does not get a response within the defined time-out it should assume the card is not going to respond anymore and try to recover (e.g. reset the card, power cycle, reject, etc.). the typical access and program times are defined as follows: read the read access time is defined as the sum of the two times given by the csd parameters taac and nsac (refer to table ? card specific data (csd) ? ). these card parameters define the typical delay between the end bit of the read command and the start bit of the data block. this number is card dependent and should be used by the host to calculate throughput and the maximal frequency for stream read. write the r2w_factor field in the csd is used to calculate the typical block program time obtained by multiplying the read access time by this factor. it applies to all write/erase commands (e.g. set(clear)_write_protect, program_csd(cid) and the block write commands). it should be used by the host to calculate throughput and the maximal frequency for stream write. erase the duration of an erase command will be (order of magnitude) the number of write blocks to be erased multiplied by the block write delay.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 28 of 89 basic commands (class 0) and read stream command (class 1) cmd index type argument resp abbreviation command description cmd0 bc [31:0] stuff bits ? go_idle_state resets all cards to idle state cmd1 bcr [31:0] ocr without busy r3 send_op_cond checks for cards not supporting the full range of 2.0 v to 3.6 v. after receiving cmd1 the card sends an r3 response (refer to chapter ? responses ? ). cmd2 bcr [31:0] stuff bits r2 all_send_cid asks all cards in ready state to send their cid * 1 numbers on cmd-line cmd3 ac [31:16] rca [15:0] stuff bits r1 set_relative_a ddr assigns relative address to the card in identification state. cmd4 bc [31:16] dsr [15:0] stuff bits ? set_dsr programs the dsr of all cards in stand-by state. cmd7 ac [31:16] rca [15:0] stuff bits r1b (only the selected card) select/ deselect_card command toggles a card between the standby and transfer states or between the programming and disconnect state. in both cases the card is selected by its own relative address while deselecting the prior selected card. address 0 deselects all. cmd9 ac [31:16] rca [15:0] stuff bits r2 send_csd asks the addressed card to send its card-specific data (csd) * 2 on cmd- line. cmd10 ac [31:16] rca [15:0] stuff bits r2 send_cid asks the addressed card to send its card identification (cid) on cmd-line. cmd11 adtc [31:0] data address r1 read_dat_until _stop reads data stream from the card, starting at the given address, until a stop_transmission follows. cmd12 ac [31:0] stuff bits r1b * 3 stop_transmiss ion forces the card to stop transmission cmd13 ac [31:16] rca [15:0] stuff bits r1 send_status asks the addressed card to send its status register. cmd15 ac [31:16] rca [15:0] stuff bits ? go_inactive_st ate sets the card to inactive state in order to protect the card stack against communications breakdowns. notes: 1. cid register consists of 128 bits (starting with msb, it is preceded by an additional start bit, ends with an end bit) 2. csd register consists of 128 bits (starting with msb, it is preceded by an additional start bit, ends with an end bit) 3. this command is indicating the busy status of the multimediacard via the data channel.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 29 of 89 block-oriented read commands (class 2) cmd index type argument resp abbreviation command description cmd16 ac [31:0] block length r1 set_blocklen selects a block length (in bytes) for all following block-oriented read commands and lock card command. * 1 cmd17 adtc [31:0] data address r1 read_single_bl ock reads a block of the size selected by the set_blocklen command. * 2 cmd18 adtc [31:0] data address r1 read_multiple_ block continuously send blocks of data until interrupted by a stop. notes: 1. the default block length is as specified in the csd. these renesas multimediacards do not support partial block write, so the write block size defined by write_blk_len is permanently assigned to the value 512 bytes. 2. the data transferred must not cross a physical block boundary unless read_blk_misalign is set in the csd. these renesas multimediacards do not support read block operations with boundary crossing (read_blk_misalign = ? 0 ? ), so the data transferred must not cross a physical block boundary. stream write command (class 3) cmd index type argument resp abbreviation command description cmd20 adtc [31:0] data address r1 write_dat_ until_stop writes data stream from the host, starting at the given address, until a stop_transmission follows. block-oriented read/write command (class 2/4) cmd index type argument resp abbreviation command description cmd23 ac [31:16] set to 0 [15:0] number of blocks r1 set_block_cou nt defines the number of blocks which are going to be transferred in the immediately succeeding multiple block read or write command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 30 of 89 block-oriented write commands (class 4) cmd index type argument resp abbreviation command description cmd24 adtc [31:0] data address r1 write_block write a block. the write-block-length of the renesas multimediacard is permanently assigned to the value 512 bytes. * 1 cmd25 adtc [31:0] data address r1 write_multiple _block continuously writes blocks of data until a stop_transmission follows. cmd26 adtc [31:0] stuff bits r1 program_cid programming of the card identification register. this command is only done once per multimediacard card. the card has some hardware to prevent this operation after the first programming. normally this command is reserved for the manufacturer. the cid register is programmed at the manufacturer. cmd27 adtc [31:0] stuff bits r1 program_csd programming of the programmable bits of the csd. note: 1. the data transferred must not cross a physical block boundary unless write_blk_misalign is set in the csd. these renesas multimediacards do not support write block operations with boundary crossing (write_blk_misalign = ? 0 ? ), so the data transferred must not cross a physical block boundary. erase commands (class 5) cmd index type argument resp abbreviation command description cmd32 not supported cmd33 not supported cmd34 not supported cmd35 ac [31:0] data address r1 tag_erase_gro up_start sets the address of the first erase group within a range to be selected for erase cmd36 ac [31:0] data address r1 tag_erase_gro up_end sets the address of the last erase group within a continuous range to be selected for erase cmd37 not supported cmd38 ac [31:0] stuff bits r1b erase erases all previously selected groups
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 31 of 89 write protection commands (class 6) cmd index type argument resp abbreviation command description cmd28 ac [31:0] data address r1b set_write_prot if the card has write protection features, this command sets the write protection bit of the addressed group. the properties of write protection are coded in the card specific data (wp_grp_size). cmd29 ac [31:0] data address r1b clr_write_prot if the card provides write protection features, this command clears the write protection bit of the addressed group. cmd30 adtc [31:0] write protect data address r1 send_write_pr ot if the card provides write protection features, this command asks the card to send the status of the write protection bits. * 1 note: 1. 32 write protection bits (representing 32 write protect groups starting at the specified address) followed by 16 crc bits are transferred in a payload format via the data line. the last (least significant) bit of the protection bits corresponds to the first addressed group. if the addresses of the last groups are outside the valid range, then the corresponding write protection bits shall be set to zero. lock card command (class 7) cmd index type argument resp abbreviation command description cmd42 adtc [31:0] stuff bits r1b lock_unlock used to set/reset the password or lock/unlock the card. the size of the data block is set by the set_block_len command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 32 of 89 other command cmd index type argument resp abbreviation command description cmd5 reserved cmd6 reserved cmd8 reserved cmd14 reserved cmd19 reserved cmd21 ? cmd22 reserved cmd31 reserved cmd39 not supported cmd40 not supported cmd41 reserved cmd43 ? cmd54 reserved cmd55 ac [31:16] rca [15:0] stuff bits r1 app_cmd indicates to the card that the next command is an application specific command rather than a standard command these renesas multimediacards do not support this command. cmd56 adtc [31:1] rca [0] rd/wr * 1 r1b gen_cmd used either to transfer a data block to the card or to get a data block from the card for general purpose / application specific commands. the size of the data block shall be set by the set_block_len command. these renesas multimediacards do not support this command. cmd57 ? cmd63 reserved note: 1. ? 1 ? the host gets a block of data from the card. ? 0 ? the host sends block of data to the card.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 33 of 89 card identification mode all the data communication in the card identification mode uses only the command line (cmd). idle state (idle) cmd0 cmd15 cmd1 inactive state ready state (ready) cmd2 identification state (ident) cmd3 stand-by state (stby) card wins bus (ina) from all states except (ina) from all states in data-transfer mode power on card loses bus card is busy or host omitted voltage range cards with non-compatible voltage range data-transfer mode card-identification mode multimediacard state diagram (card identification mode) the host starts the card identification process in open drain mode with the identification clock rate f od (generated by a push pull driver stage). the open drain driver stages on the cmd line allow the parallel card operation during card identification. after the bus is activated the host will request the cards to send their valid operation conditions with the command send_op_cond (cmd1). since the bus is in open drain mode, as long as there is more than one card with operating conditions restrictions, the host gets in the response to the cmd1 a ? wired or ? operation condition restrictions of those cards. the host then must pick a common denominator for operation and notify the application that cards with out of range parameters (from the host perspective) are connected to the bus. incompatible cards go into inactive state (refer to also chapter ? operating voltage range validation ? ). the busy bit in the cmd1 response can be used by a card to tell the host that it is still working on its power-up/reset procedure (e.g. downloading the register information from memory field) and is not ready yet for communication. in this case the host must repeat cmd1 until the busy bit is cleared. after an operating mode is established, the host asks all cards for their unique card identification (cid) number with the broadcast command all_send_cid (cmd2). all not already identified cards (i.e. those which are in ready state) simultaneously start sending their cid numbers serially, while bit-wise monitoring their outgoing bitstream. those cards, whose outgoing cid bits do not match the corresponding bits on the command line in any one of the bit periods, stop sending
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 34 of 89 their cid immediately and must wait for the next identification cycle (cards stay in the ready state). there should be only one card which successfully sends its full cid-number to the host. this card then goes into the identification state. the host assigns to this card (using cmd3, set_relative_addr) a relative card address (rca, shorter than cid), which will be used to address the card in future communication (faster than with the cid). once the rca is received the card transfers to the standby state and does not react to further identification cycles. the card also switches the output drivers from the open-drain to the push-pull mode in this state. the host repeats the identification process as long as it receives a response (cid) to its identification command (cmd2). when no card responds to this command, all cards have been identified. the time-out condition to recognize this, is waiting for the start bit for more than 5 clock periods after sending cmd2. operating voltage range validation the multimediacard standards operating range validation is intended to support reduced voltage range multimediacards. these renesas multimediacards support the range of 2.7 v to 3.6 v supply voltage. so these renesas multimediacards send a r3 response to cmd1 which contains an ocr value of 0x80ff8000 if the busy flag is set to ? ready ? or 0x00ff8000 if the busy flag is active (refer to chapter ? responses ? ). by omitting the voltage range in the command, the host can query the card stack and determine the common voltage range before sending out-of-range cards into the inactive state. this bus query should be used if the host is able to select a common voltage range or if a notification to the application of non usable cards in the stack is desired. afterwards, the host must choose a voltage for operation and reissue cmd1 with this condition, sending incompatible cards into the inactive state.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 35 of 89 data transfer mode when in standby state, both cmd and dat lines are in the push-pull mode. as long as the content of all csd registers is not known, the f pp clock rate is equal to the slow f od clock rate. send_csd (cmd9) allows the host to get the card specific data (csd register), e.g. ecc type, block length, card storage capacity, maximum clock rate etc. cmd9, 10 cmd24, 25 cmd12 or ''transfer end'' cmd28, 29, 38 cmd16, 23, 35, 36 cmd13 cmd7 stand-by state (stby) disconnect state (dis) programming state (prg) receive-data state (rcv) sending-data state (data) transfer state (tran) from all states in data-transfer mode data-transfer mode card-identification mode cmd15 cmd0 cmd3 no state transition in data-transfer mode ''operation complete'' ''operation complete'' cmd7 cmd12, ''operation complete'' cmd11, 17, 18, 30 cmd7 cmd7 cmd20, 24, 25, 26, 27, 42 multimediacard state diagram (data transfer mode) the command select_deselect_card (cmd7) is used to select one card and place it in the transfer state. if a previously selected card is in the transfer state its connection with the host is released and it will move back to the stand-by state. only one card can be, at any time, in the transfer state. a selected card is responding the cmd7, the deselected one does not respond to this command. when cmd7 is sent including the reserved relative card address 0x0000, all cards transfer back to stand-by state. this command is used to identify new cards without resetting other already acquired cards. cards to which an rca has already been assigned, do not respond to the identification command flow in this state. all the data communication in the data transfer mode is consequently a point-to point communication between the host and the selected card (using addressed commands). all addressed commands are acknowledged by a response on the cmd line. all read commands (data is sent from the card via data lines) can be interrupted at any time, by a stop command. the data transfer will terminate and the card will stop or start working on the next command. the dat bus line signal level is high when no data is transmitted. a transmitted data block consists of a start bit (low), followed by a continuous data stream. the data stream contains the net payload data (and error correction bits if an off-card ecc is used). the data stream
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 36 of 89 ends with an end bit (high). the data transmission is synchronous to the clock signal. the payload for block-oriented data transfer is preserved by a 16-bit crc check sum (refer to chapter ? cyclic redundancy check (crc) ? ). ? stream read there is a stream oriented data transfer controlled by read_dat_until_stop (cmd11). this command instructs the card to send its payload, starting at a specified address, until the host sends a stop_transmission command (cmd12). the stop command has an execution delay due to the serial command transmission. the data transfer stops after the end bit of the stop command. if the end of the memory range is reached while sending data and no stop command has been sent yet by the host, the contents of the further transferred payload is undefined. the maximum clock frequency for stream read operation is given by the following formula: max. speed = min (tran_speed, (8 * 2 read_bl_len ? nsac) / taac), = min (20, (8 * 2 9 ) ? 100 [cycles]) / 1000 [ s]) [mhz] = min (20, 3.996) 3.996 [mhz] these parameters being defined in chapter ? registers ? . if the host attempts to use a higher frequency, the card may not be able to sustain data transfer. if this happens, the card will set the underrun error bit in the status register, abort the transmission and wait in the data state for a stop command. ? block read the basic unit of data transfer is a block whose maximum size is defined in the csd (read_blk_len). read_blk_partial is set, thus smaller blocks whose starting and ending address are wholly contained within one physical block (as defined by read_blk_len) may also be transmitted. a 16-bit crc is appended to the end of each block ensuring data transfer integrity. read_single_block (cmd17) starts a block read and after a complete transfer the card goes back to transfer state. read_multiple_block (cmd18) starts a transfer of several consecutive blocks. two types of multiple block read transactions are defined (the host can use either one at any time): ? open-ended multiple block read the number of blocks for the read multiple block operation is not defined. the card will continuously transfer data blocks until a stop transmission command is received. ? multiple block read with pre-defined block count the card will transfer the requested number of data blocks, terminate the transaction and return to transfer state. stop command is not required at the end of this type of multiple block read, unless terminated with an error. in order to start a multiple block read with pre-defined block count, the host must use the set_block_count command (cmd23) immediately preceding the read_multiple_block (cmd18) command. otherwise the card will start an open-ended multiple block read which can be stopped using the stop_transmission command. the host can abort reading at any time, within a multiple block operation, regardless of the its type. transaction abort is done by sending the stop transmission command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 37 of 89 if the card detects an error (e.g. out of range, address misalignment, internal error, etc.) during a multiple block read operation (both types) it will stop data transmission and remain in the data state. the host must than abort the operation by sending the stop transmission command. the read error is reported in the response to the stop transmission command. if the host sends a stop transmission command after the card transmits the last block of a multiple block operation with a pre-defined number of blocks, it will be responded to as an illegal command, since the card is no longer in data state. if the host uses partial blocks whose accumulated length is not block aligned and block misalignment is not allowed, the card shall detect a block misalignment error condition at the beginning of the first misaligned block (address_error error bit will be set in the status register). ? stream write stream write (cmd20) starts the data transfer from the host to the card beginning from the starting address until the host issues a stop command. if partial blocks are allowed (if csd parameter write_bl_partial is set) the data stream can start and stop at any address within the card address space, otherwise it shall start and stop only at block boundaries. since the amount of data to be transferred is not determined in advance, crc can not be used. if the end of the memory range is reached while sending data and no stop command has been sent by the host, all further transferred data is discarded. the maximum clock frequency for stream write operation is given by the following formula: max. speed = min (tran_speed, (8 * 2 write_bl_len ? nsac) / (taac * r2w_factor)) = min (20, (8 * 2 9 ? 100 [cycles]) / 1000 [ s] * 4)[mhz] = min (20, 0.999) = 0.999 [mhz] these parameters being defined in chapter ? registers ? . if the host attempts to use a higher frequency, the card may not be able to process the data and will stop programming, set the overrun error bit in the status register, and while ignoring all further data transfer, wait (in the receive-data-state) for a stop command. the write operation shall also be aborted if the host tries to write over a write-protected area. in this case, however, the card shall set the wp_violation bit. ? block write block write (cmd24 ? 27) means that one or more blocks of data are transferred from the host to the card with a 16-bit crc appended to the end of each block by the host. a card supporting block write must always be able to accept a block of data defined by write_blk_len. if the crc fails, the card will indicate the failure on the dat line; the transferred data will be discarded and not written and all further transmitted blocks (in multiple block write mode) will be ignored. write_multiple_block (cmd25) starts a transfer of several consecutive blocks. two types of multiple block write transactions, identical to the multiple block read, are defined (the host can use either one at any time): ? open-ended multiple block write the number of blocks for the write multiple block operation is not defined. the card will continuously accept and program data blocks until a stop transmission command is received.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 38 of 89 ? multiple block write with pre-defined block count the card will transfer the requested number of data blocks, terminate the transaction and return to transfer state. stop command is not required at the end of this type of multiple block write, unless terminated with an error. in order to start a multiple block write with pre-defined block count, the host must use the set_block_count command (cmd23) immediately preceding the write_multiple_block (cmd25) command. otherwise the card will start an open-ended multiple block write which can be stopped using the stop_transmission command. the host can abort writing at any time, within a multiple block operation, regardless of the its type. transaction abort is done by sending the stop transmission command. if a multiple block write with predefined block count is aborted, the data in the remaining blocks is not defined. if the card detects an error (e.g. write protect violation, out of range, address misalignment, internal error, etc.) during a multiple block write operation (both types) it will ignore any further incoming data blocks and remain in the receive state. the host must than abort the operation by sending the stop transmission command. the write error is reported in the response to the stop transmission command. if the host sends a stop transmission command after the card received the last block of a multiple block write with a pre-defined number of blocks, it will be responded to as an illegal command, since the card is no longer in rcv state. if the host uses partial blocks whose accumulated length is not block aligned and block misalignment is not allowed (csd parameter write_blk_misalign is not set), the card will detect the block misalignment error and abort programming before the beginning of the first misaligned block. the card will set the address_error error bit in the status register, and wait (in the receive-data-state) for a stop command while ignoring all further data transfer. the write operation will also be aborted if the host tries to write over a write-protected area. in this case, however, the card will set the wp_violation bit. programming of the cid and csd register does not require a previous block length setting. the transferred data is also crc protected. ? erase identification of these erase groups is accomplished with the tag_erase_group commands. a first command with the starting address is followed by a second command with the final address, and all erase groups within this range will be selected for erase. the host must adhere to the following command sequence; tag_erase_group_start, tag_erase_group_end and erase. the following exception conditions are detected by the card: an erase or tag command is received out of sequence. the card will set the erase_sequence error bit in the status register and reset the whole sequence. an out of sequence command (except send_status) is received. the card will set the erase_reset status bit in the status register, reset the erase sequence and execute the last command. if the erase range includes write protected erase groups, they will be left intact and only the non-protected erase groups will be erased. the wp_erase_skip status bit in the status register will be set. the address field in the tag commands is an erase group. the card will ignore all lsb ? s below the group size. as described above for block write, the card will indicate that an erase is in progress by holding dat low. the actual erase time may be quite long, and the host may choose to deselect the card using cmd7.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 39 of 89 ? write protect management card data may be protected against either erase or write. the entire card may be permanently write protected by the manufacturer or content provider by setting the permanent or temporary write protect bits in the csd. portions of the data may be protected (in units of wp_grp_size sectors as specified in the csd), and the write protection may be changed by the application. the set_write_prot command sets the write protection of the addressed write-protect group, and the clr_write_prot command clears the write protection of the addressed write-protect group. the send_write_prot command is similar to a single block read command. the card shall send a data block containing 32 write protection bits (representing 32 write protect groups starting at the specified address) followed by 16 crc bits. the address field in the write protect commands is a group address in byte units. the card will ignore all lsb ? s below the group size. ? card lock/unlock operation the password protection feature enables the host to lock a card while providing a password, which later will be used for unlocking the card. the password and its size are kept in a 128-bit pwd and 8-bit pwd_len registers, respectively. these registers are non-volatile so that a power cycle will not erase them. locked cards respond to (and execute) all commands in the "basic" command class (class 0) and ? lock card ? command class. thus the host is allowed to reset, initialize, select, query for status, etc., but not to access data on the card. if the password was previously set (the value of pwd_len is not ? 0 ? ) will be locked automatically after power on. similar to the existing csd and cid register write commands the lock/unlock command is available in "transfer state" only. this means that it does not include an address argument and the card has to be selected before using it. the card lock/unlock command has the structure and bus transaction type of a regular single block write command. the transferred data block includes all the required information of the command (password setting mode, pwd itself, card lock/unlock etc.). the following table describes the structure of the command data block. lock card data structure byte# bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 0 reserved erase lock_ unlock clr_ pwd set_ pwd 1 pwd_len 2 password data ... pwd_len + 1
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 40 of 89 ? erase: 1 defines forced erase operation (all other bits shall be ? 0 ? ) and only the cmd byte is sent. ? lock/unlock: 1 = locks the card. 0 = unlock the card (note that it is valid to set this bit together with set_pwd but it is not allowed to set it together with clr_pwd). ? clr_pwd: 1 = clears pwd. ? set_pwd: 1 = set new password to pwd. ? pwd_len: defines the following password length (in bytes). ? pwd: the password (new or currently used depending on the command). the data block size shall be defined by the host before it sends the card lock/unlock command. this will allow different password sizes. the following paragraphs define the various lock/unlock command sequences: ? setting the password ? select a card (cmd7), if not previously selected already. ? define the block length (cmd16), given by the 8bit card lock/unlock mode, the 8-bit password size (in bytes), and the number of bytes of the new password. in case that a password replacement is done, then the block size shall consider that both passwords, the old and the new one, are sent with the command. ? send card lock/unlock command with the appropriate data block size on the data line including 16-bit crc. the data block shall indicate the mode (set_pwd), the length (pwd_len) and the password itself. in case that a password replacement is done, then the length value (pwd_len) shall include both passwords, the old and the new one, and the pwd field shall include the old password (currently used) followed by the new password. ? in case that the sent old password is not correct (not equal in size and content) then lock_unlock_failed error bit will be set in the status register and the old password does not change. in case that pwd matches the sent old password then the given new password and its size will be saved in the pwd and pwd_len fields, respectively. note that the password length register (pwd_len) indicates if a password is currently set. when it equals ? 0 ? there is no password set. if the value of pwd_len is not equal to zero the card will lock itself after power up. it is possible to lock the card immediately in the current power session by set-ting the lock/unlock bit (while setting the password) or sending additional command for card lock. ? reset the password: ? select a card (cmd7), if not previously selected already. ? define the block length (cmd16), given by the 8 bit card lock/unlock mode, the 8 bit password size (in bytes), and the number of bytes of the currently used password. ? send the card lock/unlock command with the appropriate data block size on the data line including 16-bit crc. the data block shall indicate the mode clr_pwd, the length (pwd_len) and the password (pwd) itself (lock/unlock bit is don ? t care). if the pwd and pwd_len content match the sent password and its size, then the content of the pwd register is cleared and pwd_len is set to 0. if the password is not correct then the lock_unlock_failed error bit will be set in the status register.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 41 of 89 ? locking a card: ? select a card (cmd7), if not previously selected already. ? define the block length (cmd16), given by the 8 bit card lock/unlock mode, the 8 bit password size (in bytes), and the number of bytes of the currently used password. ? send the card lock/unlock command with the appropriate data block size on the data line including 16-bit crc. the data block shall indicate the mode lock, the length (pwd_len) and the password (pwd) itself. if the pwd content equals to the sent password then the card will be locked and the card-locked status bit will be set in the status register. if the password is not correct then lock_unlock_failed error bit will be set in the status register. note that it is possible to set the password and to lock the card in the same sequence. in such case the host shall perform all the required steps for setting the password (as described above) including the bit lock set while the new password command is sent. if the password was previously set (pwd_len is not ? 0 ? ), then the card will be locked automatically after power on reset. an attempt to lock a locked card or to lock a card that does not have a password will fail and the lock_unlock_failed error bit will be set in the status register. ? unlocking the card: ? select a card (cmd7), if not previously selected already. ? define the block length (cmd16), given by the 8 bit card lock/unlock mode, the 8 bit password size (in bytes), and the number of bytes of the currently used password. ? send the card lock/unlock command with the appropriate data block size on the data line including 16-bit crc. the data block shall indicate the mode unlock, the length (pwd_len) and the password (pwd) itself. if the pwd content equals to the sent password then the card will be unlocked and the card-locked status bit will be cleared in the status register. if the password is not correct then the lock_unlock_failed error bit will be set in the status register. note that the unlocking is done only for the current power session. as long as the pwd is not cleared the card will be locked automatically on the next power up. the only way to unlock the card is by clearing the password. an attempt to unlock an unlocked card will fail and lock_unlock_failed error bit will be set in the status register. ? forcing erase: in case that the user forgot the password (the pwd content) it is possible to erase all the card data content along with the pwd content. this operation is called forced erase. ? select a card (cmd7), if not previously selected already. ? define the block length (cmd16) to 1 byte (8bit card lock/unlock command). send the card lock/unlock command with the appropriate data block of one byte on the data line including 16- bit crc. the data block shall indicate the mode erase (the erase bit shall be the only bit set). if the erase bit is not the only bit in the data field then the lock_unlock_failed error bit will be set in the status register and the erase request is rejected. if the command was accepted then all the card content will be erased including the pwd and pwd_len register content and the locked card will get unlocked. an attempt to force erase on an unlocked card will fail and lock_unlock_failed error bit will be set in the status register.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 42 of 89 ? state transition summary table ? card state transition table ? defines the card state transitions as a function of received command. card state transition table current state command idle ready ident stby tran data rcv prg dis ina crc fail ? * 1 ? ? ? ? ? ? ? ? ? commands out of the supported class(es) ? ? ? ? ? ? ? ? ? ? class0 cmd0 idle idle idle idle idle idle idle idle idle ? cmd1, card v cc range compatible ready ? ? ? ? ? ? ? ? ? cmd1, card is busy idle ? ? ? ? ? ? ? ? ? cmd1, card v cc range not compatible ina ? ? ? ? ? ? ? ? ? cmd2, card wins bus ? ident ? ? ? ? ? ? ? ? cmd2, card loses bus ? ready ? ? ? ? ? ? ? ? cmd3 ? ? stby ? ? ? ? ? ? ? cmd4 ? ? ? stby ? ? ? ? ? ? cmd7, card is addressed ? ? ? tran ? ? ? ? prg ? cmd7, card is not addressed ? ? ? ? stby stby ? dis ? ? cmd9 ? ? ? stby ? ? ? ? ? ? cmd10 ? ? ? stby ? ? ? ? ? ? cmd12 ? ? ? ? ? tran prg ? ? ? cmd13 ? ? ? stby tran data rcv prg dis ? cmd15 ? ? ? ina ina ina ina ina ina ? class1 cmd11 ? ? ? ? data ? ? ? ? ? class2 cmd16 ? ? ? ? tran ? ? ? ? ? cmd17 ? ? ? ? data ? ? ? ? ? cmd18 ? ? ? ? data ? ? ? ? ? cmd23 ? ? ? ? tran ? ? ? ? ? class3 cmd20 ? ? ? ? rcv ? ? ? ? ?
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 43 of 89 current state command idle ready ident stby tran data rcv prg dis ina class4 cmd16 see class 2 cmd23 see class 2 cmd24 ? ? ? ? rcv ? ? rcv ? ? cmd25 ? ? ? ? rcv ? ? rcv ? ? cmd26 ? ? ? ? rcv ? ? ? ? ? cmd27 ? ? ? ? rcv ? ? ? ? ? class5 cmd35 ? ? ? ? tran ? ? ? ? ? cmd36 ? ? ? ? tran ? ? ? ? ? cmd38 ? ? ? ? prg ? ? ? ? ? class6 cmd28 ? ? ? ? prg ? ? ? ? ? cmd29 ? ? ? ? prg ? ? ? ? ? cmd30 ? ? ? ? data ? ? ? ? ? class7 cmd42 ? ? ? ? rcv ? ? ? ? ? notes: 1. ? ? ? means command is ignored, no state change and no response.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 44 of 89 responses all responses are sent via command line (cmd), all data starts with the msb. format r1 (response command): response length 48 bits. 0 start bit 0 card 1 end bit bit5...bit0 command bit31...bit0 status bit6...bit0 crc the contents of the status field are described in chapter ? status ? format r1b (response command with busy signal): r1b is identical to r1 with an optional busy signal transmitted on the data line. the card may become busy after receiving these commands based on its state prior to the command reception. format r2 (cid, csd register): response length 136 bits. note: bit 127 down to bit 1 of cid and csd are transferred, the reserved bit [0] is replaced by the end bit. 0 start bit 0 card 1 end bit bit5...bit0 reserved bit127...bit1 cid or csd register including internal crc cid register is sent as a response to commands cmd2 and cmd10. csd register is sent as a response to the cmd9. format r3 (ocr): response length 48 bits. 0 start bit 0 card 1 end bit bit5...bit0 reserved bit31...bit0 ocr field bit6...bit0 reserved the ocr is sent as a response to the cmd1 to signalize the supported voltage range. these renesas multimediacards support the range from 2.7 v to 3.6 v. respectively the value of all bits of the ocr field of these renesas multimediacards is set to 0x80ff8000. so the r3 frame contains the value 0x3f80ff8000ff if the card is ready and 0x3f00ff8000ff if the card is busy.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 45 of 89 status the response format r1 contains a 32-bit field with the name card status. this field is intended to transmit status information which is stored in a local status register of each card to the host. the following table defines the status register structure. the type and clear-condition fields in the table are coded as follows: ? type: ? e: error bit. ? s: status bit. ? r: detected and set for the actual command response. ? x: detected and set during command execution. the host must poll the card by sending status command in order to read these bits. ? clear condition: ? a: according to the card state. ? b: always related to the previous command. reception of a valid command will clear it (with a delay of one command). ? c: clear by read.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 46 of 89 status bits identifier type value description clear condition 31 out_of_range e r ? 0 ? = no error ? 1 ? = error the commands argument was out of allowed range for this card. c 30 address_error e r x ? 0 ? = no error ? 1 ? = error a misaligned address, which did not match the block length was used in the command. c 29 block_len_erro r e r ? 0 ? = no error ? 1 ? = error the transferred block length is not allowed for this card or the number of transferred bytes does not match the block length. c 28 erase_seq_err or e r ? 0 ? = no error ? 1 ? = error an error in the sequence of erase commands occurred. c 27 erase_param e x ? 0 ? = no error ? 1 ? = error an invalid selection, groups, for erase. c 26 wp_violation e r x ? 0 ? = not protected ? 1 ? = protected the command tried to write a write protected block. c 25 card_is_locked s x ? 0 ? = card unlocked ? 1 ? = card locked when set, signals that the card is locked by the host. a 24 lock_unlock_ failed e r x ? 0 ? = no error ? 1 ? = error set when a sequence or password error has been detected in lock/unlock card command or it there was an attempt to access a locked card. c 23 com_crc_error e r ? 0 ? = no error ? 1 ? = error the crc check of the previous command failed. b 22 illegal_comman d e r ? 0 ? = no error ? 1 ? = error command not legal for the current state b 21 card_ecc_faile d e x ? 0 ? = success ? 1 ? = failure card internal ecc was applied but the correction of data is failed. c 20 cc_error e r x ? 0 ? = no error ? 1 ? = error internal card controller error c 19 error e r x ? 0 ? = no error ? 1 ? = error a general or an unknown error occurred during the operation. c 18 underrun e x ? 0 ? = no error ? 1 ? = error the card could not sustain data transfer in stream read mode. c 17 overrun e x ? 0 ? = no error ? 1 ? = error the card could not sustain data programming in stream write mode. c
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 47 of 89 bits identifier type value description clear condition 16 cid_overwrite/ csd_overwrite e r x ? 0 ? = no error ? 1 ? = error can be either one of the following errors: ? the cid register is already written and can not be overwritten. ? the read only section of the csd does not match the card content. ? an attempt to reverse the copy (set as original) or permanent wp (unprotected) bits was done. c 15 wp_erase_skip s x ? 0 ? = not protected ? 1 ? = protected only partial address space was erased due to existing wp blocks. c 14 card_ecc_ disabled s x ? 0 ? = enabled ? 1 ? = disabled the command has been executed without using the internal ecc. a 13 erase_reset s r ? 0 ? = cleared ? 1 ? = set an erase sequence was cleared before executing because an out of erase sequence command was received. c 12:9 current_state s x 0 = idle 1 = ready 2 = ident 3 = stby 4 = tran 5 = data 6 = rcv 7 = prg 8 = dis 9-15 = reserved current state of the card. b 8 buffer_empty s x ? 0 ? = not empty ? 1 ? = empty corresponds to buffer empty signaling on the bus. a 7:6 reserved permanently 0 5 app_cmd s r ? 0 ? = disabled ? 1 ? = enabled the card will expect app_cmd or indication that the command has been interpreted as app_cmd. c 4 reserved permanently 0 3:2 reserved for application specific commands 1:0 reserved for manufacturer test mode
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 48 of 89 command response timings all timing diagrams use the following schematics and abbreviations: s: start bit (= 0) t: transmitter bit (host = 1, card = 0) p: one-cycle pull-up (= 1) e: end bit (= 1) z: high impedance state (-> = 1) d: data bits *: repeater crc: cyclic re dundancy check bits (7 bits for command or response, 16 bits for block data) the difference between the p-bit and z-bit is that a p-bit is actively driven to high by the card respectively host output driver, while the z-bit is driven to (respectively kept) high by the pull-up resistors r cmd respectively r dat . actively driven p-bits are less sensitive to noise superposition. for the timing of these renesas multimediacards, the following values are defined: timing values value [clock cycles] symbol min max description n cr 2 64 number of cycles between command and response n id 5 5 number of cycles between card identification or card operation conditions command and the corresponding response n ac 2 * 1 taac + nsac * 2 number of cycles between a command and the start of a related data block n rc 8 ? number of cycles between the last response and a new command n cc 8 ? number of cycles between two commands, if no response will be sent after the first command (e.g. broadcast) n wr 2 ? number of cycles between a write command and the start of a related data block n st 2 2 number of cycles between stop command and valid read / write data end notes: 1. refer to chapter ? electrical characteristics ? for more details about the access time. 2. refer to chapter ? read, write and erase time-out conditions ? .
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 49 of 89 the host command and the card response are clocked out with the rising edge of the host clock. the delay between host command and card response is n cr clock cycles. the following timing diagram is relevant for host command cmd3: s t content crc e z * * * * * * z cmd host command s t content crc e z z z response n cr cycles host active card active command response timing (identification mode) there is just one z bit period followed by p bits pushed up by the responding card. the following timing diagram is relevant for all host commands followed by a response, except cmd1, cmd2 and cmd3: s t content crc e z z p * * * p cmd host command s t content crc e z z z response card active n cr cycles host active command response timing (data transfer mode) ? card identification and card operation conditions timing the card identification (cmd2) and card operation condition (cmd1) timing are processed in the open- drain mode. the card response to the host command starts after exactly n id clock cycles. s t content crc e z * * * z cmd host command s t content z z z cid or ocr n id cycles host active card active identification timing (card identification mode) ? last card response - next host command timing after receiving the last card response, the host can start the next command transmission after at least n rc clock cycles. this timing is relevant for any host command. s t content crc e z * * * * * * z cmd response s t content crc e host command n rc cycles card active host active timing response end to next cmd start (data transfer mode)
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 50 of 89 ? last host command - next host command timing diagram after the last command, which does not force a response, has been sent, the host can continue sending the next command after at least n cc clock periods. s t content crc e z * * * * * * z cmd host command s t content crc e host command n cc cycles host active host active timing cmd n end to cmd n+1 start (all modes) in the case the cmd n command was a last identification command (no more response sent by a card), then the next cmd n+1 command is allowed to follow after at least n cc + 136 (the length of the r2 response) clock periods. ? data access timing data transmission starts with the access time delay t ac (which corresponds to n ac ), beginning from the end bit of the data address command. the data transfer stops automatically in case of a data block transfer or by a transfer stop command. s t content crc e z z p * * * p cmd dat z z z z z z z z z p p s d d d * * * * * * * * * * * * * * * * * * host command read data s t content crc e response n cr cycles n ac cycles host active card active card active data read timing (data transfer mode) ? data transfer stop command timing the card data transmission can be stopped using the stop command. the data transmission stops immediately with the end bit of the stop command. s t content crc e z z p * * * p cmd dat ddd ddde z * * * * * * * * z * * * * * * * * * * * * * * * * * * * * * * host command s t content crc e response n cr cycles host active card active card active n st timing of stop command (cmd12, data transfer mode)
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 51 of 89 ? stream read the data transfer starts n ac clock cycles after the end bit of the host command. the bus transaction is identical to that of a read block command (refer to figure ? data read timing ? ). as the data transfer is not block-oriented, the data stream does not include the crc checksum. consequently the host can not check for data validity. the data stream is terminated by a stop command. the corresponding bus transaction is identical to the stop command for the multiple read block (refer to figure ? timing of stop command ? ). ? single or multiple block write the host selects one card for data write operation by cmd7. the host sets the valid block length for block-oriented data transfer by cmd16 (the write-block-length of the renesas multimediacard is permanently assigned to the value 512 bytes). the host transfers the data with cmd24. the address of the data block is determined by the argument of this command. this command is responded by the card on the cmd line as usual. the data transfer from the host starts n wr clock cycles after the card response was received. the write data have crc check bits to allow the card to check the transferred data for transmission errors. the card sends the crc check information as a crc status to the host (on the data line). the crc status contains the information if the write data transfer was non-erroneous (the crc check did not fail) or not. in the case of transmission error the card sends a negative crc status ( ? 101 ? bin) which forces the host to retransmit command and the data. in the case of non-erroneous transmission the card sends a positive crc status ( ? 010 ? bin) and starts the data programming procedure. s t content crc e cmd dat cmd dat z z z * * * * * * * * z zzs es e status busy = 'l' z zzzz z z zzzzz crc e content l ... pull down to low bit host command n cr s t content crc e s zp card response content n wr write data crc status card busy z host active card active host active host active card active write data timing of the block write command if the card does not have any more free data receive buffer, the card indicates it by pulling down the data line to low. the card stops pulling down the data line as soon as at least one receive buffer for the defined data transfer block length becomes free. this signaling does not give any information about the data write status. this information has to be polled by cmd13 polling command (send_status).
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 52 of 89 ? stream write the data transfer starts n wr clock cycles after the card response to the sequential write command was received. the bus transaction is identical to that of a write block command (see figure ? timing of the block write command ? ). as the data transfer is not block-oriented, the data stream does not include the crc checksum. consequently the host can not receive any crc status information from the card. the data stream is terminated by a stop command. the bus transaction is identical to the write block option when a data block is interrupted by the stop command (see figure ? stop transmission during data transfer from the host ? ). s t content crc e z z p * * * p cmd host command s t content crc e card response n cr cycles s t content host command d d d d d d d d d d e z z s l dat * * * * * * * * * * * * * * * * * * e z z z z z z z z card is programming valid write data n st stop transmission during data transfer from the host ? erase block timing the host must first tag the group to erase. the tagged group(s) are erased in parallel by using the cmd35, cmd36 and cmd38. the card busy signaling is also used for the indication of the card erase procedure duration. in this case the end of the card busy signaling also does mean that the erase of all tagged groups has been finished. the host can (also) request the card to send the actual card state using the cmd13. t content crc cmd dat cmd dat * * * * * * * * z z * * * * * * * * * * * z z z s l l * * * * * * * * * * * * * * * * * * * * l e lle e s t z * * * * * l ... pull down to low bit n cr s t content crc e card response crc e content card is erasing card busy host command host active card active host active card active timing of erase operation
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 53 of 89 reset go_idle_state (cmd0) is the software reset command, which sets the multimediacard into the idle state independently of the current state. in the inactive state the multimediacard is not affected by this command. after power-on the multimediacard is always in the idle state. after power-on or command go_idle_state (cmd0) all output bus drivers of the multimediacard is in a high-impedance state and the card will be initialized with a default relative card address (0x0001). the host runs the bus at the identification clock rate f od generated by a push-pull driver stage (refer to also chapter ? power on ? for more details). cmd0 is valid in all states with the exception of the inactive state. while in inactive state the card will not accept cmd0 unless it is used to switch the card into spi mode.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 54 of 89 spi communication the spi mode consists of a secondary communication protocol. this mode is a subset of the multimediacard protocol, designed to communicate with a spi channel, commonly found in motorola ? s (and lately a few other vendors ? ) microcontrollers. the interface is selected during the first reset command after power up (cmd0) and cannot be changed once the part is powered on. the spi standard defines the physical link only, and not the complete data transfer protocol. the multimediacard spi implementation uses a subset of the multimediacard protocol and command set. it is intended to be used by systems which require a small number of card (typically one) and have lower data transfer rates (compared to multimediacard protocol based systems). from the application point of view, the advantage of the spi mode is the capability of using an off-the-shelf host, hence reducing the design-in effort to minimum. the disadvantage is the loss of performance of the spi system versus multimediacard (lower data transfer rate, fewer cards, hardware cs per card etc.). while the multimediacard channel is based on command and data bitstreams which are initiated by a start bit and terminated by a stop bit, the spi channel is byte oriented. every command or data block is built of 8-bit bytes and is byte aligned to the cs signal (i.e. the length is a multiple of 8 clock cycles). similar to the multimediacard protocol, the spi messages consist of command, response and data-block tokens (refer to chapter ? commands ? and chapter ? responses ? for a detailed description). all communication between host and cards is controlled by the host (master). the host starts every bus transaction by asserting the cs signal low. the response behavior in the spi mode differs from the multimediacard mode in the following three aspects: ? the selected card always responds to the command. ? an additional (8 bit) response structure is used. ? when the card encounters a data retrieval problem, it will respond with an error response (which replaces the expected data block) rather than by a time-out as in the multimediacard mode. single block and multiple read and write operations are supported in spi mode. in addition to the command response, every data block sent to the card during write operations will be responded with a special data response token. a data block may be as big as one card sector and as small as a single byte. partial block read/write operations are enabled by card options specified in the csd register. mode selection the multimediacard wakes up in the multimediacard mode. it will enter spi mode if the reset command (cmd0) is received during the cs signal is asserted (negative). selecting spi mode is not restricted to idle state (the state the card enters after power up) only. every time the card receives cmd0, including while in inactive state, cs signal is sampled. if the card recognizes that the multimediacard mode is required it will not respond to the command and remain in the multimediacard mode. if spi mode is required the card will switch to spi and respond with the spi mode r1 response. the only way to return to the multimediacard mode is by entering the power cycle. in spi mode the multimediacard protocol state machine is not observed. all the multimediacard commands supported in spi mode are always available.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 55 of 89 bus transfer protection every multimediacard token transferred on the bus is protected by crc bits. in spi mode, the multimediacard offers a non-protected mode which enables systems built with reliable data links to exclude the hardware or firmware required for implementing the crc generation and verification functions. in the non-protected mode the crc bits of the command, response and data tokens are still required in the tokens. however, they are defined as ? don ? t care ? for the transmitter and ignored by the receiver. the spi interface is initialized in the non protected mode. however, the reset command (cmd0), which is used to switch the card to spi mode, is received by the card while in multimediacard mode and, therefore, must have a valid crc field. the host can turn this option on and off using the crc_on_off command (cmd59). data read overview the spi mode supports single and multiple block read operations (cmd17 and cmd18 in the multimediacard protocol). the main difference between spi and multimediacard modes is that the data and the response are both transmitted to the host on the dataout signal (refer to figure 43 and figure 45). therefore the card response to the stop_command may cut-short and replace the last data block (refer to figure ? read operation ? ). data in data out command response data block crc command from host to card from card to host data from card to host next command single block read operation data in data out command response data block crc command from host to card from card to host data from card to host stop command data block crc data b. response multiple block read operation the basic unit of data transfer is a block whose maximum size is defined in the csd (read_bl_len). if read_bl_partial is set, smaller blocks whose starting and ending addresses are entirely contained within one physical block (as defined by read_bl_len) may also be transmitted. a 16-bit crc is appended to the end of each block ensuring data transfer integrity (also refer to chapter ? cyclic redundancy check (crc) ? ). cmd17 (read_single_block) initiates a single block read. cmd18
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 56 of 89 (read_multiple_block) starts a transfer of several consecutive blocks. two types of multiple block read transactions are defined (the host can use either one at any time): ? open-ended multiple block read the number of blocks for the read multiple block operation is not defined. the card will continuously transfer data blocks until a stop transmission command is received. ? multiple block read with pre-defined block count the card will transfer the requested number of data blocks, terminate the transaction and return to transfer state. stop command is not required at the end of this type of multiple block read, unless terminated with an error. in order to start a multiple block read with pre-defined block count, the host must use the set_block_count command (cmd23) immediately preceding the read_multiple_block (cmd18) command. otherwise the card will start an open-ended multiple block read which can be stopped using the stop_transmission command. the host can abort reading at any time, within a multiple block operation, regardless of the its type. transaction abort is done by sending the stop transmission command. in case of a data retrieval error, the card will not transmit any data. instead, a special data error token will be sent to the host. figure ? read operation-data error ? shows a data read operation which terminated with an error token rather than a data block. data in data out command response data error command from host to card from card to host data error token from card to host next command read operation-data error data write overview as for the read operation, while in spi mode the multimediacard supports single and multiple block write commands. upon reception of a valid write command (cmd24 and cmd25 in the multimediacard protocol), the card will respond with a response token and will wait for a data block to be sent from the host. crc suffix, block length and start address restrictions are (with the exception of the csd parameter write_bl_partial controlling the partial block write option) identical to the read operation (refer to figure ? single block write operation ? ). if a crc error is detected it will be reported in the data-response token and the data block will not be programmed.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 57 of 89 data in data out command data block response data_response busy command from host to card data from host to card from card to host data response and busy from card new command from host single block write operation after a data block has been received, the card will respond with a data-response token. if the data block has been received without errors, it will be programmed. as long as the card is busy programming, a continuous stream of busy tokens will be sent to the host (effectively holding the dataout line low). in multiple block write operation the stop transmission will be done by sending ? stop tran ? token instead of ? start block ? token at the beginning of the next block. data in data out command data block response from host to card data from host to card from card to host data response and busy from card stop tran token data block data response busy data response busy busy start block token data from host to card multiple block write operation two types of multiple block write transactions, identical to the multiple block read, are defined (the host can use either one at any time): ? open-ended multiple block write the number of blocks for the write multiple block operation is not defined. the card will continuously accept and program data blocks until a ? stop tran ? token is received. ? multiple block write with pre-defined block count the card will accept the requested number of data blocks and terminate the transaction. ? stop tran ? token is not required at the end of this type of multiple block write, unless terminated with an error. in order to start a multiple block write with pre-defined block count, the host must use the set_block_count command (cmd23) immediately preceding the write_multiple_block (cmd25) command. otherwise the card will start an open-ended multiple block write which can be stopped using the ? stop tran ? token. the host can abort writing at any time, within a multiple block operation, regardless of the its type. transaction abort is done by sending the ? stop tran ? token. if a multiple block write with predefined block count is aborted, the data in the remaining blocks is not defined. if the card detects a crc error or a programming error (e.g. write protect violation, out of range, address misalignment, internal error, etc.) during a multiple block write operation (both types) it will report the
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 58 of 89 failure in the data-response token and ignore any further incoming data blocks. the host must than abort the operation by sending the ? stop tran ? token. if the host uses partial blocks whose accumulated length is not block aligned and block misalignment is not allowed (csd parameter write_blk_misalign is not set), the card shall detect the block misalignment error before the beginning of the first misaligned block and respond with an error indication in the dataresponse token and ignore any further incoming data blocks. the host must than abort the operation by sending the ? stop tran ? token. once the programming operation is completed, the host must check the results of the programming using the send_status command (cmd13). some errors (e.g. address out of range, write protect violation etc.) are detected during programming only. the only validation check performed on the data block and communicated to the host via the data-response token is the crc. if the host sends a ? stop tran ? token after the card received the last block of a multiple block operation with pre-defined number of blocks, it will be responded to as the beginning of an illegal command and responded accordingly. while the card is busy, resetting the cs signal will not terminate the programming process. the card will release the dataout line (tri-state) and continue with programming. if the card is reselected before the programming is finished, the dataout line will be forced back to low and all commands will be rejected. resetting a card (using cmd0) will terminate any pending or active programming operation. this may destroy the data formats on the card. it is in the responsibility of the host to prevent it.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 59 of 89 erase and write protect management the erase and write protect management procedures in the spi mode are identical to those of the multimediacard mode. while the card is erasing or changing the write protection bits of the predefined sector list, it will be in a busy state and hold the dataout line low. figure ? no data operations ? illustrates a ? no data ? bus transaction with and without busy signaling. data in data out command response response busy command from host to card from card to host from card to host from host to card ?no data? operations reading cid/csd registers unlike the multimediacard protocol (where the register contents are sent as a command response), reading the contents of the csd and cid registers in spi mode is a simple read-block transaction. the card will respond with a standard response token (refer to figure ? read operation ? ) followed by a data block of 16 bytes suffixed with a 16-bit crc. the data timeout for the csd command cannot be set to the card taac since this value is stored in the csd. therefore the standard response timeout value (n cr ) is used for read latency of the csd register. reset sequence the multimediacard requires a defined reset sequence. after power on reset or cmd0 (software reset) the card enters an idle state. at this state the only legal host command is cmd1 (send_op_cond) and cmd58 (read_ocr). in spi mode, as opposed to multimediacard mode, cmd1 has no operands and does not return the contents of the ocr register. instead, the host may use cmd58 (available in spi mode only) to read the ocr register. furthermore, it is in the responsibility of the host to refrain from accessing cards that do not support its voltage range. the usage of cmd58 is not restricted to the initializing phase only, but can be issued at any time. the host must poll the card (by repeatedly sending cmd1) until the ? in-idle-state ? bit in the card response indicates (by being set to 0) that the card completed its initialization processes and is ready for the next command. the host must poll the card (by repeatedly sending cmd1) until the ? in-idle-state ? bit in the card response indicates (by being set to 0) that the card completed its initialization processes and is ready for the next command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 60 of 89 error conditions unlike the multimediacard protocol, in the spi mode the card will always respond to a command. the response indicates acceptance or rejection of the command. a command may be rejected if it is not supported (illegal opcode), if the crc check failed, if it contained an illegal operand, or if it was out of sequence during an erase sequence. memory array partitioning same as for multimediacard mode. card lock/unlock usage of card lock and unlock commands in spi mode is identical to multimediacard mode. in both cases the command response is of type r1b. after the busy signal clears, the host should obtain the result of the operation by issuing a get_status command. please refer to chapter ? card lock/unlock operation ? for details. commands all the multimediacard commands are 6 bytes long. the command transmission always starts with the left bit of the bitstring corresponding to the command codeword. all commands are protected by a crc7. the commands and arguments are listed in table: bit position [47] [46] [45:40] [39:8] [7:1] [0] width (bits) 1 1 6 32 7 1 value ? 0 ? ? 1 ? ? 1 ? description start bit transmission bit command index argument crc7 end bit the following table provides a detailed description of the spi bus commands. the responses are defined in chapter ? responses ? . the table ? commands and arguments ? lists all multimediacard commands. a ? yes ? in the spi mode colon indicates that the command is supported in spi mode. with these restrictions, the command class description in the csd is still valid. if a command does not require an argument, the value of this field should be set to zero. the reserved commands are reserved in multimediacard mode as well. the binary code of a command is defined by the mnemonic symbol. as an example, the content of the command index field is (binary) ? 000000 ? for cmd0 and ? 100111 ? for cmd39.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 61 of 89 commands and arguments cmd index spi mode argument resp abbreviation command description cmd0 yes none r1 go_idle_state resets the multimediacard cmd1 yes none r1 send_op_cond activates the card ? s initialization process. cmd2 no cmd3 no cmd4 no cmd5 reserved cmd6 reserved cmd7 no cmd8 reserved cmd9 yes none r1 send_csd asks the selected card to send its card-specific data (csd) cmd10 yes none r1 send_cid asks the selected card to send its card identification (cid) cmd11 no cmd12 yes none r1 stop_transmis sion stop transmission on multiple read cmd13 yes none r2 send_status asks the selected card to send its status register. cmd14 reserved cmd15 no cmd16 yes [31:0] block length r1 set_blocklen selects a block length (in bytes) for all following block-oriented read commands and lock card command. * 1 cmd17 yes [31:0] data address r1 read_single_ block reads a block of the size selected by the set_blocklen command. * 2 cmd18 yes [31:0] data address r1 read_multiple _block continuously transfers data block from card to host until interrupted by a stop command or the requested number of data blocks transmitted. cmd19 reserved cmd20 no cmd21... cmd22 reserved cmd23 yes [31:16] set to 0 [15:0] number of blocks r1 set_block_co unt defines the number of blocks which are going to be transferred in the immediately succeeding multiple block read or write command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 62 of 89 cmd index spi mode argument resp abbreviation command description cmd24 yes [31:0] data address r1 write_block writes a block. the write-block-length of the renesas multimediacard is permanently assigned to the value 512 bytes. * 4 cmd25 yes [31:0] data address r1 write_multipl e_block continuously writes blocks of data until a ? stop tran ? token or the requested number of block received. cmd26 no cmd27 yes none r1 program_csd programming of the programmable bits of the csd. cmd28 yes [31:0] data address r1b * 3 set_write_ prot if the card has write protection features, this command sets the write protection bit of the addressed group. the properties of write protection are coded in the card specific data (wp_grp_size). cmd29 yes [31:0] data address r1b clr_write_ prot if the card has write protection features, this command clears the write protection bit of the addressed group. cmd30 yes [31:0] write protect data address r1 send_write_ prot if the card has write protection features, this command asks the card to send the status of the write protection bits. * 5 cmd31 reserved cmd32 no cmd33 no cmd34 no cmd35 yes [31:0] data address r1 tag_erase_ group_start sets the address of the first erase group within a range to be selected for erase cmd36 yes [31:0] data address r1 tag_erase_ group_end sets the address of the last erase group within a continuous range to be selected for erase cmd37 no cmd38 yes [31:0] stuff bits r1b erase erases all previously selected groups cmd39 no cmd40 no cmd41 reserved cmd42 yes [31:0] stuff bits r1 lock/unlock used to set/reset the password or lock/unlock the card. the structure of the data block is described in chapter ? card lock/unlock operation ? . the size of the data block is defined by the set_block_len command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 63 of 89 cmd index spi mode argument resp abbreviation command description cmd43... cmd54 reserved cmd55 (yes) [31:16] rca [15:0] stuff bits r1 app_cmd indicates to the card that the next command is an application specific command rather than a standard command. these renesas multimediacards do not support this command. cmd56 (yes) [31:1] stuff bits [0:0] rd/wr * 6 r1b gen_cnd used either to transfer a data block to the card or to get a data block from the card for general purpose / application specific commands. the size of the data block shall be set by the set_glock_len command. these renesas multimediacards do not support this command. cmd57 reserved cmd58 yes none r3 read_ocr reads the ocr register of a card. cmd59 yes [31:1] stuff bits [0:0] crc option r1 crc_on_off turns the crc option on or off. a ? 1 ? in the crc option bit will turn the option on, a ? 0 ? will turn it off cmd60 no notes: 1. the default block length is as specified in the csd. these renesas multimediacards do not support partial block write, so the write block size defined by write_blk_len is permanently assigned to the value 512 bytes. 2. the data transferred must not cross a physical block boundary unless read_blk_misalign is set in the csd. these renesas multimediacards do not support read block operations with boundary crossing (read_blk_misalign = ? 0 ? ), so the data transferred must not cross a physical block boundary. 3. r1b: r1 response with an optional trailing busy signal. 4. the data transferred must not cross a physical block boundary unless write_blk_misalign is set in the csd. these renesas multimediacards do not support write block operations with boundary crossing (write_blk_misalign = ? 0 ? ), so the data transferred must not cross a physical block boundary. 5. 32 write protection bits (representing 32 write protect groups starting at the specified address) followed by 16 crc bits are transferred in a payload format via the data line. the last (least significant) bit of the protection bits corresponds to the first addressed group. if the addresses of the last groups are outside the valid range, then the corresponding write protection bits shall be set to zero. 6. ? 1 ? the host gets a block of data from the card. ? 0 ? the host sends block of data to the card.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 64 of 89 responses there are several types of response tokens. as in the multimediacard mode, all are transmitted msb first: ? format r1 this response token is sent by the card after every command with the exception of send_status commands. it is one byte long, and the msb is always set to zero. the other bits are error indications, an error being signaled by a ? 1 ? . the structure of the r1 format is given in figure ? r1 response format ? . the meaning of the flags is defined as following: ? in idle state: the card is in idle state and running the initializing process. ? erase reset: an erase sequence was cleared before executing because an out of erase sequence command was received. ? illegal command: an illegal command code was detected. ? communication crc error: the crc check of the last command failed. ? erase sequence error: an error in the sequence of erase commands occurred. ? address error: a misaligned address, which did not match the block length, was used in the command. ? parameter error: the command ? s argument (e.g. address, block length) was out of the allowed range for this card. in idle state erase reset illegal command com crc error erase sequence error address error parameter error 0 0 7 r1 response format ? format r1b this response token is identical to the r1 format with the optional addition of the busy signal. the busy signal token can be any number of bytes. a zero value indicates card is busy. a non-zero value indicates the card is ready for the next command.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 65 of 89 ? format r2 this response token is two bytes long and sent as a response to the send_status command. the format is given in figure ? r2 response format ? . wp erase skip | lock/unlock command failed error 1. byte 2. byte cc error card ecc failed wp violation erase param out of range | csd_overwrite in idle state erase reset illegal command com crc error erase sequence error address error parameter error card is locked 0 0 0 7 7 r2 response format the first byte is identical to the response r1. the content of the second byte is described in the following: ? out of range ? ? ? ? csd_overwrite: this status bit has two functions. it is set if the command argument was out of its valid range or if the host is trying to change the rom section or reverse the copy bit (set as original) or permanent wp bit (un-protect) of the csd register. ? erase param: an invalid selection, groups, for erase. ? write protect violation: the command tried to write a write protected block. ? card ecc failed: card internal ecc was applied but failed to correct the data. ? cc error: internal card controller error ? error: a general or an unknown error occurred during the operation. ? write protect erase skip ? ? ? ? lock/unlock command failed: this status bit has two functions overloaded. it is set when the host attempts to erase a write protected sector or if a sequence or password error occurred during card lock/unlock operation. ? card is locked: set when the card is locked by the user. reset when it is unlocked.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 66 of 89 ? format r3 this response token is sent by the card when a read_ocr command is received. the response length is 5 bytes (refer to figure ? r3 response format ? ). the structure of the first (msb) byte is identical to response type r1. the other four bytes contain the ocr register. r1 ocr 0 32 0 0 31 39 r3 response format ? data response every data block written to the card will be acknowledged by a data response token. it is one byte long and has the following format: 0 status 1 0 7 data response the meaning of the status bits is defined as follows: ? 010 ? - data accepted. ? 101 ? - data rejected due to a crc error. ? 110 ? - data rejected due to a write error.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 67 of 89 data tokens read and write commands have data transfers associated with them. data is being transmitted or received via data tokens. all data bytes are transmitted msb first. data tokens are 4 to 2051 bytes long and have the following format: ? first byte: start byte format of the start data block tokens token type transaction type 7 bit position 0 start block single block read 1 1 1 1 1 1 1 0 start block multiple block read 1 1 1 1 1 1 1 0 start block single block write 1 1 1 1 1 1 1 0 start block multiple block write 1 1 1 1 1 1 0 0 stop tran multiple block write 1 1 1 1 1 1 0 1 ? bytes 2-2049 (depends on the data block length): user data ? last two bytes: 16-bit crc. data error token if a read operation fails and the card cannot provide the required data, it will send a data error token instead. this token is one byte long and has the following format: error cc error card ecc failed out of range 000 0 7 card is locked data error token the 4 least significant bits (lsb) are the same error bits as in the response format r2.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 68 of 89 clearing status bits as described in the previous paragraphs, in spi mode, status bits are reported to the host in three different formats: response r1, response r2 and data error token (the same bits may exist in multiple response types ? e.g. card ecc failed). as in the multimediacard mode, error bits are cleared when read by the host, regardless of the response format. state indicators are either cleared by reading or in accordance with the card state. all error/status bits defined in multimediacard mode, with the exception of underrun and overrun, have the same meaning and usage in spi mode. the following table summarizes the set and clear conditions for the various status bits: ? type: ? e: error bit. ? s: status bit. ? r: detected and set for the actual command response. ? x: detected and set during command execution. the host must poll the card by sending status command in order to read these bits. ? clear condition: ? a: according to the card state. ? c: clear by read. spi mode status bits identifier included in resp type value description clear condition out of range r2 dataerr e r x ? 0 ? = no error ? 1 ? = error the command argument was out of allowed range for these renesas multimediacards. c address error r1 r2 e r x ? 0 ? = no error ? 1 ? = error an address which did not match the block length was used in the command. c erase sequence error r1 r2 e r ? 0 ? = no error ? 1 ? = error an error in the sequence of erase command sequence. c error param r2 e x ? 0 ? = no error ? 1 ? = error an error in the parameters of the erase command sequence. c parameter error r1 r2 e r x ? 0 ? = no error ? 1 ? = error an error in the parameters of the command. c wp violation r2 e r x ? 0 ? = not protected ? 1 ? = protected attempt to program a write protected block. c com crc error r1 r2 e r ? 0 ? = no error ? 1 ? = error the crc check of the previous command failed. c
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 69 of 89 identifier included in resp type value description clear condition illegal command r1 r2 e r ? 0 ? = no error ? 1 ? = error command not legal for the card state c card ecc failed r2 dataerr e x ? 0 ? = success ? 1 ? = failure card internal ecc was applied but failed to correct the data. c cc error r2 dataerr e r x ? 0 ? = no error ? 1 ? = error internal card controller error c error r2 dataerr e r x ? 0 ? = no error ? 1 ? = error a general or an unknown error occurred during the operation. c wp erase skip r2 s x ? 0 ? = not protected ? 1 ? = protected only partial address space was erased due to existing write protect blocks. c lock/unlock command failed r2 e x ? 0 ? = no error ? 1 ? = error sequence or password error during card lock/unlock operation c card is locked r2 dataerr s x ? 0 ? = card is not locked ? 1 ? = card is locked card is locked by password. a erase reset r1 r2 s r ? 0 ? = cleared ? 1 ? = set an erase sequence was cleared before executing because an output of erase sequence command was received. c in idle state r1 r2 s r ? 0 ? = card is ready ? 1 ? = card is in idle state the card enters the idle state after power up or reset command. it will exit this state and become ready upon completion of this initialization procedures. a csd overwrite r2 e x ? 0 ? = no error ? 1 ? = error the host is trying to change the rom section, or is trying to reverse the copy bit (set as original) or permanent wp bit (unprotected) or he csd register. c
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 70 of 89 spi bus timing all timing diagrams use the following schematics and abbreviations: h: signal is high (logical ? 1 ? ) l: signal is low (logical ? 0 ? ) x: don ? t care z: high impedance state (-> = 1) *: repeater busy: busy token command: command token response: response token data block: data token all timing values are defined in table ? timing values ? . the host must keep the clock running for at least n cr clock cycles after receiving the card response. this restriction applies to both command and data response tokens. command/response ? host command to card response - card is ready hhl l l n cs * * * * * * * * * * * * * * * * * * l l h h h cs x x h h h h 6 bytes command h h hh xxx datain ll h h h h h * * * * * * * zz zhhh hh hh hzz dataout h h h h h h 1 or 2 bytes response n ec n cr * * * * * * * ? host command to card response - card is busy hl l l n cs * * * * * * * * * * * * * * * * * * l l ll lhh cs x h h h h 6 bytes command h h hh xx datain l h h l ll l hhhhh hhhh hhhh zzhhhh h busy card response hz dataout busy hh hhh xxx lzzz hhhh n ec n ds n ec n cr * * * * * * *
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 71 of 89 ? card response to host command l l l l l * * * * * * * * * * * * * * * * * * l l h h h cs h h h h h h * * * * * * * * * h h hh xxx datain h h h h 6 bytes command hhh h h hh hh hz z dataout hhhh 1 or 2 bytes response n rc * * * * * * * * * * * * * ? single block read hl l l n cs * * * * * * * * * * * * * * * * * * ll ll hhh cs x h h h h read command datain h h h h h * * * * * * * * * * zzhhhh hh z z dataout hhhh card response data block n ec n cr hhhh n ac * * * * * * * hh h xxx ? multiple block read ? stop transmission is sent between blocks hl l n cs * * * * * * * * * * * * * * * * * * lllll cs xh h read cmd datain hhh * * * * * * * * * * zzhhh dataout card resp data block n cr n ac * * * * hh h hhh * * h h * * h hh * * hh * * data block h h n cr n ac h h * * card resp stop cmd h h ? multiple block read ? stop transmission is sent within a block hl l n cs * * * * * * * * * * * * * * * * * * lllll cs xh h read cmd datain hhh * * * * * * * * * * zzhhh dataout card resp data block n cr n ac * * * * hh h hhh * * h h * * h hh * * hh * * data x h n cr n ac h h * * card resp stop cmd h h h x h hh
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 72 of 89 ? reading the csd register hl l l n cs * * * * * * * * * * * * * * * * * * l l h h cs x h h h h read command h h x x datain l h hhhhh hhhh zzhhhh h card response hz h x z dataout h x z hh data block hhhh n ec n cr n cx * * * * * * * * * * * * * * ? single block write hl n cs * * * * * * * * * * * * * * * * * * ll ll cs x h ** h write command datain hhh hhh hh h ** h h hhhhh hhhhh llll lll ** l hhh hhhh x**x zzhhh zh l z z busy dataout h**h card response data resp busy data block n cr * * * * * * * n wr n ec n ds ? multiple block write l * * * * * * * * * * * * * * * * * * lll cs h data block datain hh h * * h hh h hh x * * x llll hhh h h dataout h h busy data resp hhh n wr llll hh h hhh busy hhhh h h h h data block h data resp busy hhh h * * h stop tran n br hh lll lll n wr l l l timing values symbol min max unit n cs 0 ? 8 clock cycles n cr 1 8 8 clock cycles n cx 0 8 8 clock cycles n rc 1 ? 8 clock cycles n ac 1 spec. in the csd * 1 8 clock cycles n wr 1 ? 8 clock cycles n ec 0 ? 8 clock cycles n ds 0 ? 8 clock cycles n br 1 1 8 clock cycles note: 1. refer to chapter ? read, write and erase time-out conditions ? .
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 73 of 89 error handling multimediacards are defined as error free devices or as devices with a defined maximum bit error rate (with external error correction circuitry). to correct defects in the memory field of the cards the system may include error correction codes in the payload data (ecc). this correction is intended to correct static errors. additionally two methods of detecting errors generated during the data transfer (dynamic errors) via a cyclic redundancy check (crc) are implemented. on card error correction code (ecc) these renesas multimediacards is free of static errors. all errors are covered inside the card, even errors occurring during the lifetime of these renesas multimediacards are covered for the user. the only effect which may be notified by the end user is, that the overall memory capacity may be reduced by small number of blocks. all flash handling is done on card, so that no external error correction is needed.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 74 of 89 cyclic redundancy check (crc) the crc is intended for protecting multimediacard commands, responses and data transfer against transmission errors on the multimediacard bus. one crc is generated for every command and checked for every response on the cmd line. for data blocks one crc per transferred block is generated. the crc is generated and checked as described in the following. ? crc7 the crc7 check is used for all commands, for all responses except type r3, and for the csd and cid registers. the crc7 is a 7-bit value and is computed as follows: generator polynomial: g(x) = x 7 + x 3 + 1 m(x) = (first bit) * x n + (second bit) * x n-1 +...+ (last bit) * x 0 crc[6...0] = remainder [(m(x) * x 7 ) / g(x)] all crc registers are initialized to zero. the first bit is the most left bit of the corresponding bitstring (of the command, response, cid or csd). the degree n of the polynomial is the number of crc protected bits decreased by one. the number of bits to be protected is 40 for commands and responses (n = 39), and 120 for the csd and cid (n = 119). ? crc16 the crc16 is used for payload protection in block transfer mode. the crc check sum is a 16-bit value and is computed as follows: generator polynomial: g(x) = x 16 + x 12 +x 5 + 1 m(x) = (first bit) * x n + (second bit) * x n-1 +...+ (last bit) * x 0 crc[15...0] = remainder [(m(x) * x 16 ) / g(x)] all crc registers are initialized to zero. the first bit is the first data bit of the corresponding block. the degree n of the polynomial denotes the number of bits of the data block decreased by one (e.g. n = 4095 for a block length of 512 bytes). the generator polynomial g(x) is a standard ccitt polynomial. the code has a minimal distance d = 4 and is used for a payload length of up to 2048 bytes (n 16383).
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 75 of 89 power supply power supply decoupling the v ss1 , v ss2 and v cc lines supply the card with operating voltage. for this, decoupling capacitors for buffering current peak are used. these capacitors are placed on the bus side corresponding to figure ? power supply decoupling ? . multimediacard v ss1 v cc v ss2 single card slot single card slot l max = 13 mm c = 0.1 f c power supply decoupling the host controller includes a central buffer capacitor for v cc . its value is c buf = 1 f/slot.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 76 of 89 power on / off each card has its own power on detection circuitry which puts the card into a defined state after the power- on. no explicit reset signal is necessary. the cards can also be reset by a special software command: go_idle_state (cmd0). in case of emergency the host may also reset the cards by switching the power supply off and on again. power up detection command parser core controller memory core v cc v ss enable multimediacard controller clk cmd dat async.reset power on detection a power on reset is generated on chip as long as v cc is below a certain limit. after this reset the command parser of these renesas multimediacards works properly but the access to the memory core is not guaranteed. so in the power up phase (or when these renesas multimediacards are inserted during power up) the host has to wait after sending send_op_cond (cmd1) for the identification delay before the all_send_cid (cmd2) can be interpreted by the card:
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 77 of 89 initialization delay: the maximum of 1 msec, 74 clock cycles and supply ramp up time cmd1 cmd1 cmd1 cmd2 optional repetitions of cmd1 until no cards are responding with busy bit set. 3.6 v 2.0 v 2.7 v bus master supply voltage card logic working voltage range memory field working voltage range power up time supply ramp up time n cc n cc n cc initialization sequence time power-up diagram ? after power up (including hot insertion, i.e. inserting a card when the bus is operating) the multimediacard enters the idle state. during this state the multimediacard ignores all bus transactions until cmd1 is received. ? cmd1 is a special synchronization command used to negotiate the operation voltage range and to poll the cards until they are out of their power-up sequence. besides the operation voltage pro-file of the cards, the response to cmd1 contains a busy flag, indicating that the card is still working on its power- up procedure and is not ready for identification. this bit informs the host that at least one card is not ready. the host has to wait (and continue to poll the cards) until this bit is cleared. ? getting individual cards, as well as the whole multimediacard system, out of idle state is up to the responsibility of the bus master. since the power up time and the supply ramp up time depend on application parameters such as the maximum number of multimediacards, the bus length and the power supply unit, the host must ensure that the power is built up to the operating level (the same level which will be specified in cmd1) before cmd1 is transmitted. ? after power up the host starts the clock and sends the initializing sequence on the cmd line. this sequence is a contiguous stream of logical ? 1 ? s. the sequence length is the maximum of 1 msec, 74 clocks or the supply-ramp-up-time; the additional 10 clocks (over the 64 clocks after what the card should be ready for communication) are provided to eliminate power-up synchronization problems. ? when the power is on after the power down, v cc must be 0.25 v or less.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 78 of 89 short cut protection the multimediacards can be inserted/removed into/from the bus without damage. if one of the supply pins (v cc or v ss ) is not connected properly, then the current is drawn through a data line to supply the card. naturally the card can not operate properly under this conditions. v cc v ss cmd, dat v cc not connected v ss not connected card controller improper power supply every multimediacard output withstands shortcuts to either supply. v cc v ss cmd, dat connector card controller i short i short worst case shortcut short cut protection unintentional power down if the card removal (unintentional power down) is occurred during card operation (read/write), the multimediacard would be broken.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 79 of 89 characteristics this chapter defines following characteristics: ? temperature characteristics ? electrical characteristics temperature characteristics parameter symbol min max unit storage temperature tstg ? 40 +85 c operating temperature topr ? 25 +85 c junction temperature tj ? 20 +95 c electrical characteristics in this chapter the electrical characteristics for these renesas multimediacards are defined in three steps: ? pad characteristics: properties of the external connectors ? absolute maximum ratings: if exceeded the card may be damaged ? recommended operating conditions: characterization model of the environment of these renesas multimediacards, requirements for the operating characteristics ? operating characteristics: properties of these renesas multimediacards measurable if the recommended operating conditions are considered pad characteristics parameter symbol min typ max unit input capacitance c card ? ? 14 pf
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 80 of 89 absolute maximum ratings absolute maximum ratings are those values beyond which damage to the device may occur. functional operation under these conditions or at any other condition beyond those indicated in the operational sections of this specification is not implied: parameter symbol min max unit remark supply voltage v cc ? 0.5 4.6 v total power dissipation p d ? 288 mw esd protection contact pads ? 4 4 kv human body model according to ansi/eos esd-s5.1-1998 non contact pads coupling plane discharge ? 8 8 kv human body model according to iec61000-4-2 non contact pads air discharge ? 15 15 kv inputs input voltage v imax ? 0.5 v cc + 0.5 v max (v cc ) outputs output voltage v omax ? 0.5 v cc + 0.5 v max (v cc ) high-level output current i ohmax ? 100 ? ma short cut protected low-level output current i olmax ? 150 ma short cut protected bus signal line load the total capacitance c l of each line of the multimediacard bus is the sum of the bus master capacitance c host , the bus capacitance c bus itself and the capacitance c card of each card connected to this line: c l = c host + c bus + n * c card where n is the number of connected cards. requiring the sum of the host and bus capacitance ? s not to exceed 30 pf for up to 10 cards, and 40 pf for up to 30 cards, the following values must not be exceeded: parameter symbol min max unit remark pull-up resistance for cmd r cmd 4.7 100 k ? to prevent bus floating pull-up resistance for dat r dat 50 100 k ? to prevent bus floating bus signal line capacitance c l ? 250 pf f pp 5 mhz, 30 cards bus signal line capacitance c l ? 100 pf f pp 20 mhz, 10 cards maximum signal line inductance ? 16 nh f pp 20 mhz note: 1. the value of pull-up resistance should be optimized according to the host system.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 81 of 89 recommended operating conditions the recommended operating conditions define the parameter ranges for optimal performance and durability of these renesas multimediacards. parameter symbol min typ max unit remark supply voltage v cc 2.7 3.0 3.6 v inputs low-level input voltage v il v ss ? 0.3 ? 0.25 v cc v high-level input voltage v ih 0.625 v cc ? v cc + 0.3 v outputs high-level output current i oh ? 2 ? ? ma low-level output current i ol ? ? 6 ma clock input clk * 1 clock frequency data transfer mode (pp) f pp 0 ? 20 mhz c l < 100 pf (10 cards) clock frequency ident. mode (od) f od 0 ? 400 khz clock cycle time data transfer mode (pp) t pp = 1/f pp 50 ? ? ns clock cycle time ident. mode (od) t od = 1/f od 2.5 ? ? s clock low time t wl 10 ? ? ns c l < 100 pf (10 cards) clock high time t wh 10 ? ? ns c l < 100 pf (10 cards) clock input rise time t lh ? ? 10 ns c l < 100 pf (10 cards) clock input fall time t hl ? ? 10 ns c l < 100 pf (10 cards) clock low time t wl 50 ? ? ns c l < 250 pf (30 cards) clock high time t wh 50 ? ? ns c l < 250 pf (30 cards) clock input rise time t lh ? ? 50 ns c l < 250 pf (30 cards) clock input fall time t hl ? ? 50 ns c l < 250 pf (30 cards) note: 1. all values are referred to min (v ih ) and max (v il ).
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 82 of 89 operating characteristics the operating characteristics are parameters measured in a multimediacard system assuming the recommended operating conditions (refer to chapter ? recommended operating conditions ? ). parameter symbol min typ max unit remark high speed supply current 32 mbyte ? ? 80 ma at 20 mhz, 3.6 v 64 mbyte ? ? 80 ma 128 mbyte ? ? 80 ma 256 mbyte ? ? 80 ma 512 mbyte ? ? 80 ma minimal supply current 32 mbyte ? ? 2.0 ma at 0 hz, 3.6 v stby state 64 mbyte ? ? 2.0 ma 128 mbyte ? ? 2.0 ma 256 mbyte ? ? 2.0 ma 512 mbyte ? ? 2.0 ma typical supply current single block read ? 20 ? ma at 20 mhz, 3.0 v +25 c single block write ? 35 ? ma at 20 mhz, 3.0 v +25 c all digital inputs (including i/o current) input leakage current ? 10 ? 10 a all outputs high-level output voltage v oh 0.75 v cc ? ? v at min i oh low-level output voltage v ol ? ? 0.125 v cc v at max i ol inputs: cmd, dat (referred to clk), di (referred to sclk), cs input set-up time t isu 3 ? ? ns input hold time t ih 3 ? ? ns outputs: cmd, dat (referred to clk), do (referred to sclk) output set-up time t osu 5 ? ? ns output hold time t oh 5 ? ? ns at t lh = 10 ns
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 83 of 89 input output : invalid clock t pp v ih v il v oh v ol v ih v il t oh t wh t wl t osu t isu t ih t hl t lh valid data valid data valid data timing diagram of data input and output the access time (t at ) is divided into two parts: ? t sad : the synchronous access time. this time defines the time of the maximum number of cycles which are required to access a byte of the memory field. ? t aad : the asynchronous access time to read a byte out of the memory field. the synchronous part of the access time is sum of the command frame length and some additional internal cycles (n sad = 16 cycles). at 20 mhz one cycle is 50 ns (1/f pp ), multiplied with n sad the resulting frame time is t sad = 0.8 s. the asynchronous access delay of these renesas multimediacards is t aad = 300 s typical. the resulting memory access time t at is the sum of both parts: t at = t aad + t sad with t sad = n sad / f pp dat cmd t sad t at t aad command frame response frame data access time
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 84 of 89 access time parameter symbol typ max unit remark synchronous access delay cycles n sad ? 16 cycles synchronous access delay t sad ? 0.8 s at 20 mhz clock frequency asynchronous access delay t aad 300 ? s memory access time t at 300.8 ? * 1 s at 20 mhz clock frequency note: 1. refer to chapter ? read, write and erase time-out conditions ? . in the csd are two fields to code the asynchronous and the synchronous access delay time: ? taac, asynchronous access delay ? nsac, maximum number of cycles for receiving and interpreting of a command frame the value for the csd field nsac is calculated from n sad (maximum: 16 cycles) by division with 100 and rounding up to the next integer: nsac = [n sad /100] = [16/100] ? nsac = 0x01 the value for the csd field taac is 1 ms: taac = [t aad ] = 1 ms ? taac = 0x0e for more details on nsac and taac csd-entries refer to chapter ? card specific data (csd) ? . references [1] the multimediacard, system specification 3.3, multimediacard association number representations ? decimal numbers: 1234, no special characters ? hexadecimal numbers: 0xab, leading 0x, each digit represents 4 bits. ? binary numbers (single bit): ? 0 ? . ? binary numbers (unsigned bit vector): ? 100100 ? . ? 1k is equal to 1024. ? 1m is equal to 1k * 1k, except the card capacity. in the card capacity, 1m is equal to 10 6 ( ? features ? and ? card specific data ? ). ? 1g is equal to 1m * 1k
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 85 of 89 abbreviations and terms abbreviations terms argument of a command or data field. cmd multimediacard bus command . see command. pp push pull, output driver type with low impedance driver capability for 0 and 1. od open drain, output driver type with low impedance driver capability for 0 and high impedance driver capability for 1. csd card specific data, multimediacard register to store operating parameters. cid card identification data, multimediacard register for the card initialization procedure. rca relative card address, multimediacard register which contains the current card address of an initialized multimediacard. ocr operation condition register, multimediacard register that contains the voltage window which is supported by the multimediacard. dsr driver stage register, control register for the programmable driver stage driver (pds). pds programmable driver stage driver, is a tri-state output driver which has is programmable to adapt the driver capabilities to the bus design. command a command send from the multimediacard host to one or more multimediacard cards response a response is always sent from the card to the host. it is always initiated by a command (remark: not all commands enforce responses). broadcast com. a command may send as broadcast or as an addressed command. a broadcast command is sent to all cards connected to the multimediacard bus simultaneous. addressed com. an addressed command is sent to exactly one selected multimediacard. normally an addressed command forces a response of the card. point to point c. same as addressed command dat the data (input)/output signal of the multimediacard. clk the clk input signal of the multimediacard. cmd the command/response input/output of the multimediacard. v ss1 , 2 ground contacts/lines of the multimediacard. v cc supply voltage contact/line of the multimediacard. memory core array of memory cells in the core of the multimediacard. multimediacard interface multimediacard command interpreter module. mid manufacturer identifier.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 86 of 89 abbreviations terms cin card individual number. crc cyclic redundancy check. ecc error correction code. g(x) generator polynomial of error correction/check code. tac asynchronous access delay nsac number of synchronous access cycles to be added to the access delay f od open drain mode operating frequency (maximum 400 khz). f pp push pull mode operating frequency (maximum 20 mhz). msb most significant bit. lsb least significant bit. human body model standard model to simulate electrical conditions induced by handling and touching of electrical devices by humans.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 87 of 89 precautionary notes on product usage to ensure the correct usage of this product, the following precautionary notes must be strictly observed. failure to follow these precautions could give rise to loss of data, product malfunction, or erroneous operation. it should be noted in advance that renesas shall not be held responsible for any loss of stored data. (1) the card must not be used in locations subject to low or high temperature extremes, direct sunlight, inside closed vehicles, beside heating or air conditioning equipment, in dusty or humid environments, or in areas subject to corrosion. (2) the card must not be subjected to bending, strong mechanical shock, or droppage. (3) objects must not be placed on top of, or dropped on the card. (4) the card must be kept free from water. (5) the card must be kept free from the use of thinners, benzene, alcohol, or other such substances. (6) if not used for extended periods, the card should be removed from the equipment in which it is used, placed in the appropriate case, and stored in a low-humidity environment. (7) the card must not be modified or dismantled. (8) power must not be turned off while the card is in operation. (9) the card should be installed in the appropriate equipment only after verifying the correct method of installation. the renesas multimediacard should be inserted in the direction of the ? mark indicated on the card. (10) the card contacts must not be touched or be soiled by dirt or other contaminates. (11) the card must not be used or stored in areas subject to strong electrostatic charge, magnetic fields, or electrical noise. (12) the card must not be placed within the handy reach of small children. if inadvertently placed in the mouth or swallowed, the card could cause asphyxiation. it is highly recommended that any valuable data be backed up in other media.
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 88 of 89 physical outline ? full size hb28k032mm3 hb28l064mm3 hb28j128mm3 hb28j256mm3 hb28j512mm3 27.3 2.1 r02 min. all around front back 3 r1.0 1.2 max 4.5 min c7 c6 c5 c4 c3 c2 c1 25.9 4.0 21.8 1.4 4.0 32.0 24.00 0.08 3.10 max/2.75 min 2 r0.5 4.0 4.65 min 5.60 max 7.15 min 8.10 max 9.65 min 10.60 max 12.15 min 13.10 max 14.65 min 15.60 max 17.15 min 18.10 max 19.65 min/20.60 max 0.2 as of january, 2003 unit: mm tolerance: 0.1 mm
hb28k032/l064/j128/j256/j512mm3, hb28k032/l064/j128/j256rm3 rev.0.02, sep.15.2004, page 89 of 89 ? reduced size HB28K032RM3 hb28l064rm3 hb28j128rm3 hb28j256rm3 18 0.1 4 0.1 4 0.1 24 0.08 1.4 0.1 1.2 max 4.5 min 0.2 r0.2 min all around 3.1 max/2.75 min 4.65 min 5.6 max 7.15 min 8.1 max 9.65 min 10.6 max 12.15 min 13.1 max 14.65 min 15.6 max 17.15 min 18.1 max 19.65 min/20.60 max c7 c6 c5 c4 c3 c2 c1 0.35 3.1 0.35 3.1 3.9 18.2 9 0.8 1.4 4.1 4.1 2 2 aa a-a cross section 0.3 0.3 c0.5 0.8 2 3.4 11.1 2 unit:mm general tolerance : 0.1mm 0.3 2 r0.5 0.1 2 r0.5 3 r1 0.1 4 r0.25 2 r0.5
revision history hb28k032mm3/HB28K032RM3 hb28l064mm3/hb28l064rm3 hb28j128mm3/hb28j128rm3 hb28j256mm3/hb28j256rm3 hb28j512mm3 data sheet contents of modification rev. date page description 0.01 feb.25.2004 ? initial issue 0.02 sep.15.2004 1 12 12, 20 33 83 description: change of notes2, addition of notes3 r2w_factor: value: 2 (4) to 4 (16) addition of content_prot_app in the figure: ?looses? to ?loses? in the description of t aad : ?maximum? to ?typical?
keep safety first in your circuit designs! 1. renesas technology corp. puts the maximum effort into making semiconductor products better and more reliable, but there is al ways the possibility that trouble may occur with them. trouble with semiconductors may lead to personal injury, fire or property damage. remember to give due consideration to safety when making your circuit designs, with appropriate measures such as (i) placement of substitutive, auxiliary circuits, (ii) use of nonflammable material or (iii) prevention against any malfunction or mishap. notes regarding these materials 1. these materials are intended as a reference to assist our customers in the selection of the renesas technology corp. product best suited to the customer's application; they do not convey any license under any intellectual property rights, or any other rights, belonging to renesas t echnology corp. or a third party. 2. renesas technology corp. assumes no responsibility for any damage, or infringement of any third-party's rights, originating i n the use of any product data, diagrams, charts, programs, algorithms, or circuit application examples contained in these materials. 3. all information contained in these materials, including product data, diagrams, charts, programs and algorithms represents in formation on products at the time of publication of these materials, and are subject to change by renesas technology corp. without notice due to product improvement s or other reasons. it is therefore recommended that customers contact renesas technology corp. or an authorized renesas technology corp. product distrib utor for the latest product information before purchasing a product listed herein. the information described here may contain technical inaccuracies or typographical errors. renesas technology corp. assumes no responsibility for any damage, liability, or other loss rising from these inaccuracies or e rrors. please also pay attention to information published by renesas technology corp. by various means, including the renesas technolo gy corp. semiconductor home page (http://www.renesas.com). 4. when using any or all of the information contained in these materials, including product data, diagrams, charts, programs, an d algorithms, please be sure to evaluate all information as a total system before making a final decision on the applicability of the information and products. renesas technology corp. assumes no responsibility for any damage, liability or other loss resulting from the information contained herein. 5. renesas technology corp. semiconductors are not designed or manufactured for use in a device or system that is used under cir cumstances in which human life is potentially at stake. please contact renesas technology corp. or an authorized renesas technology corp. product distributor when considering the use of a product contained herein for any specific purposes, such as apparatus or systems for transportation, vehicular, medical, aerosp ace, nuclear, or undersea repeater use. 6. the prior written approval of renesas technology corp. is necessary to reprint or reproduce in whole or in part these materia ls. 7. if these products or technologies are subject to the japanese export control restrictions, they must be exported under a lice nse from the japanese government and cannot be imported into a country other than the approved destination. any diversion or reexport contrary to the export control laws and regulations of japan and/or the country of destination is pro hibited. 8. please contact renesas technology corp. for further details on these materials or the products contained therein. sales strategic planning div. nippon bldg., 2-6-2, ohte-machi, chiyoda-ku, tokyo 100-0004, japan http://www.renesas.com refer to " http://www.renesas.com/en/network " for the latest and detailed information. renesas technology america, inc. 450 holger way, san jose, ca 95134-1368, u.s.a tel: <1> (408) 382-7500, fax: <1> (408) 382-7501 renesas technology europe limited dukes meadow, millboard road, bourne end, buckinghamshire, sl8 5fh, u.k. tel: <44> (1628) 585-100, fax: <44> (1628) 585-900 renesas technology hong kong ltd. 7th floor, north tower, world finance centre, harbour city, 1 canton road, tsimshatsui, kowloon, hong kong tel: <852> 2265-6688, fax: <852> 2730-6071 renesas technology taiwan co., ltd. 10th floor, no.99, fushing north road, taipei, taiwan tel: <886> (2) 2715-2888, fax: <886> (2) 2713-2999 renesas technology (shanghai) co., ltd. unit2607 ruijing building, no.205 maoming road (s), shanghai 200020, china tel: <86> (21) 6472-1001, fax: <86> (21) 6415-2952 renesas technology singapore pte. ltd. 1 harbour front avenue, #06-10, keppel bay tower, singapore 098632 tel: <65> 6213-0200, fax: <65> 6278-8001 renesas sales offices ? 200 4. re nesas technology corp ., all rights reser v ed. printed in ja pan. colophon .2.0


▲Up To Search▲   

 
Price & Availability of HB28K032RM3

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X